Le menu de saisie
Nous allons ici construire un menu permettant au joueur de saisir un texte.
Construction#
Commençons par créer la fonction qui englobera la création du menu pour le joueur :
public void CreatePanel(Player player) { }Ensuite, appelons le constructeur en utilisant le type Input :
UIPanel inputPanel = new UIPanel("Menu de saisie", UIPanel.PanelType.Input);Nous pouvons ensuite définir le texte avec la méthode SetText() :
inputPanel.SetText("Voici le texte affiché sur votre menu");Et mettre un texte d’exemple dans la zone de saisie avec la méthode SetInputPlaceholder() :
inputPanel.SetInputPlaceholder("Le texte d'exemple");Nous pouvons également ajouter un bouton Fermer avec la méthode AddButton() qui fermera le menu que nous intitulerons panel :
inputPanel.AddButton("Fermer", (panel) =>
{
player.ClosePanel(panel);
});Et un bouton Valider qui affichera dans la console le texte rentré dans le champs de saisie :
inputPanel.AddButton("Valider", (panel) =>
{
Debug.Log(panel.inputText);
});Il ne nous reste plus qu’à afficher le menu au joueur avec la méthode ShowPanelUI() :
player.ShowPanelUI(textPanel);Résultat#
Le code complet#
public void CreatePanel(Player player)
{
UIPanel inputPanel = new UIPanel("Menu de saisie", UIPanel.PanelType.Input);
inputPanel.SetText("Voici le texte affiché sur votre menu");
inputPanel.AddButton("Fermer", (panel) =>
{
player.ClosePanel(panel);
});
inputPanel.AddButton("Valider", (panel) =>
{
Debug.Log(panel.inputText);
});
player.ShowPanelUI(inputPanel);
}Une version simplifiée#
public void CreatePanel(Player player)
{
UIPanel inputPanel = new UIPanel("Menu de saisie", UIPanel.PanelType.Input)
.SetText("Voici le texte affiché sur votre menu");
.AddButton("Fermer", (panel) =>
{
player.ClosePanel(panel);
})
.AddButton("Valider", (panel) =>
{
Debug.Log(panel.inputText);
});
player.ShowPanelUI(inputPanel);
}Remarque
Vous pouvez masquer le texte saisi en activant le booléen isPassword avant d’afficher le panel :
inputPanel.isPassword = true;