Bonjour à toute l'équipe
J'ai fais une class static qui créer un panel et deux boutons par scrip,
mais je n'arrive pas à charger une des fonts par defaut
_Placez dans Start
Code : Tout sélectionner
PopupPanelRepriseTache.Initialize("nom de mon Canvas");
Code : Tout sélectionner
PopupPanelRepriseTache.ShowPopup();
Code : Tout sélectionner
using UnityEngine;
using UnityEngine.UI;
public static class PopupPanelRepriseTache
{
private static GameObject popupPanel;
private static Button button1;
private static Button button2;
private static Canvas canvas; // Référence au Canvas existant
public static void Initialize(string nameCanvas)
{
canvas = GameObject.Find(nameCanvas).GetComponent<Canvas>();
popupPanel = new GameObject("PopupPanel");
popupPanel.AddComponent<RectTransform>();
popupPanel.transform.SetParent(canvas.transform, false);
Image panelImage = popupPanel.AddComponent<Image>();
panelImage.color = new Color(0.2f, 0.2f, 0.2f, 0.8f);
GameObject button1GO = new GameObject("Button1");
button1 = button1GO.AddComponent<Button>();
Text buttonText1 = button1GO.AddComponent<Text>();
// Assets/TextMesh Pro/Resources/Fonts & Materials/zekton free.ttf
Font maPolice = Resources.Load<Font>("Library/unity default resources/Arial.ttf");
buttonText1.font = maPolice;
buttonText1.text = "Bouton 1";
GameObject Imagebutton1GO = new GameObject("Image");
Image button1Image = Imagebutton1GO.AddComponent<Image>();
button1Image.color = Color.red; // Changer la couleur de l'image du bouton 1
button1Image.transform.SetParent(popupPanel.transform, false);
button1.transform.SetParent(button1Image.transform, false);
// Créer un GameObject pour le deuxième bouton
GameObject button2GO = new GameObject("Button2");
button2 = button2GO.AddComponent<Button>();
// Image button2Image = button2GO.AddComponent<Image>();
// button2Image.color = Color.blue; // Changer la couleur de l'image du bouton 1
button2.transform.SetParent(popupPanel.transform, false);
// Ajouter un texte au bouton 2
Text buttonText2 = button2GO.AddComponent<Text>();
//buttonText2.text = "Bouton 2";
// Définir les positions des boutons
Imagebutton1GO.GetComponent<RectTransform>().anchoredPosition = new Vector2(-50f, -20f);
button2GO.GetComponent<RectTransform>().anchoredPosition = new Vector2(50f, -20f);
// Cacher le panneau au départ
popupPanel.SetActive(false);
}
public static void ShowPopup()
{
// Activer le panneau popup
popupPanel.SetActive(true);
// button1.SetActive(true);
// Définir les actions à effectuer lorsque les boutons sont cliqués
button1.onClick.AddListener(OnButton1Click);
button2.onClick.AddListener(OnButton2Click);
}
private static void OnButton1Click()
{
popupPanel.transform.SetParent(canvas.transform, true);
Debug.Log(" __________________ bouton1 ");
}
private static void OnButton2Click()
{
Debug.Log("_______________________bouton2 ");
}
}