Просмотр исходного кода

:lipstick: Affiche le curseur de menu dans les ecrans de fin

- Ecran de victoire
- Ecran de defaite

Ce commit factorise et centralise la gestion des aspects de curseur.
DricomDragon 8 месяцев назад
Родитель
Сommit
a71661c211

+ 6 - 1
godot/composants/interface/bouton/retour/bouton_retour.gd

@@ -5,6 +5,7 @@ extends Button
 
 func retour() -> void:
 	get_tree().reload_current_scene()
+	Curseur.affiche_aspect_combat()
 
 
 func _quand_bouton_est_presse() -> void:
@@ -13,4 +14,8 @@ func _quand_bouton_est_presse() -> void:
 
 func _quand_visibilite_change() -> void:
 	if is_visible():
-		grab_focus()
+		_activer_bouton_retour()
+
+func _activer_bouton_retour() -> void:
+	Curseur.affiche_aspect_menu()
+	grab_focus()

+ 1 - 3
godot/composants/interface/choix_niveau/choix_niveau.gd

@@ -3,11 +3,9 @@ extends Node
 
 signal niveau_demarre
 
-const curseur_voyage: Texture = preload("res://composants/interface/curseur/arrow_nw.png")
-
 
 func _ready() -> void:
-	Input.set_custom_mouse_cursor(curseur_voyage, Input.CURSOR_MOVE)
+	Curseur.configure_aspects_par_defaut()
 
 
 func demarrer_niveau(niveau: PackedScene) -> void:

+ 25 - 0
godot/composants/interface/curseur/curseur.gd

@@ -0,0 +1,25 @@
+class_name Curseur
+extends Object
+## Gere l'aspec du curseur
+
+const curseur_main: Texture = preload("res://composants/interface/curseur/hand_point.png")
+const curseur_triangle: Texture = preload("res://composants/interface/curseur/pointer_c.png")
+const curseur_voyage: Texture = preload("res://composants/interface/curseur/arrow_nw.png")
+const curseur_viseur: Texture = preload("res://composants/interface/curseur/target_round_b.png")
+const centre_curseur_viseur := Vector2(16.0, 16.0)
+
+
+## A appeler une fois dans le programme pour configurer les apparences de base
+static func configure_aspects_par_defaut() -> void:
+	Input.set_custom_mouse_cursor(curseur_voyage, Input.CURSOR_MOVE)
+	Input.set_custom_mouse_cursor(curseur_main, Input.CURSOR_POINTING_HAND)
+
+
+## A appeler pour afficher des boutons de menu
+static func affiche_aspect_menu() -> void:
+	Input.set_custom_mouse_cursor(curseur_triangle, Input.CURSOR_ARROW)
+
+
+## A appeler pour afficher les curseurs d'action
+static func affiche_aspect_combat() -> void:
+	Input.set_custom_mouse_cursor(curseur_viseur, Input.CURSOR_ARROW, centre_curseur_viseur)

+ 2 - 11
godot/composants/interface/pause/pause_menu.gd

@@ -1,21 +1,12 @@
 extends Control
 
 
-const curseur_main: Texture = preload("res://composants/interface/curseur/hand_point.png")
-const curseur_triangle: Texture = preload("res://composants/interface/curseur/pointer_c.png")
-const curseur_viseur: Texture = preload("res://composants/interface/curseur/target_round_b.png")
-
-
-func _ready() -> void:
-	Input.set_custom_mouse_cursor(curseur_main, Input.CURSOR_POINTING_HAND)
-
-
 func activer_pause() -> void:
 	get_tree().set_pause(true)
 	musique_en_retrait(true)
 	show()
 	%Reprendre.grab_focus()
-	Input.set_custom_mouse_cursor(curseur_triangle, Input.CURSOR_ARROW)
+	Curseur.affiche_aspect_menu()
 
 
 ## Desactiver pause
@@ -23,7 +14,7 @@ func reprendre() -> void:
 	hide()
 	musique_en_retrait(false)
 	get_tree().set_pause(false)
-	Input.set_custom_mouse_cursor(curseur_viseur, Input.CURSOR_ARROW, Vector2(16.0, 16.0))
+	Curseur.affiche_aspect_combat()
 
 
 ## Active ou desactive l'effet pour rendre la musique moins presente