Esempio n. 1
0
    public void GenererFleuve(MappeSysteme.Mappe mappe)
    {
        Fleuve[] listeFleuves = new Fleuve[mappe.listeFleuves.Count];

        for (int i = 0; i < mappe.listeFleuves.Count; i++)
        {
            GameObject nvFleuve = Instantiate(fleuvePrefab);
            nvFleuve.name   = "Fleuve" + i;
            listeFleuves[i] = nvFleuve.GetComponent <Fleuve>();
            listeFleuves[i].Init();

            char[]   separateurs          = new char[] { mappe.separateurNouedFleuve };
            string[] listeCodeNoeudFleuve = mappe.listeFleuves[i].Split(separateurs, System.StringSplitOptions.RemoveEmptyEntries);

            for (int j = 0; j < listeCodeNoeudFleuve.Length; j++)
            {
                NoeudFleuve nf = RetrouverNoeudFleuve(listeCodeNoeudFleuve[j]);

                if (nf)
                {
                    listeFleuves[i].AjouterNoeud(nf);
                }
            }
        }
    }
Esempio n. 2
0
    private void DessinerBouttonsFleuve()
    {
        GameObject[] listeFleuves = GameObject.FindGameObjectsWithTag("Fleuve");


        GUILayout.BeginHorizontal();

        GUILayout.BeginVertical();

        //Dessine la liste des fleuves
        for (int i = 0; i < listeFleuves.Length; i++)
        {
            Fleuve            fleuve  = listeFleuves[i].GetComponent <Fleuve>();
            GUILayoutOption[] options = new GUILayoutOption[2] {
                GUILayout.Height(25), GUILayout.Width(80)
            };

            if (indexSelectionFleuve == i)
            {
                GUI.backgroundColor = Color.cyan;
            }
            else
            {
                GUI.backgroundColor = Color.white;
            }

            //Dessine la liste les boutons de selection de tous les fleuves
            if (GUILayout.Button(listeFleuves[i].name, options))
            {
                if (fleuveSelectionne == null)
                {
                    fleuveSelectionne = fleuve;
                    fleuveSelectionne.EstSelectionne(true);
                    fleuveSelectionne.GetComponent <SpriteShapeRenderer>().color = Color.blue;

                    indexSelectionFleuve = i;
                    ActiverModeFleuve(true);
                }
                else if (fleuve != fleuveSelectionne)
                {
                    fleuveSelectionne.GetComponent <SpriteShapeRenderer>().color = Color.white;
                    fleuve.GetComponent <SpriteShapeRenderer>().color            = Color.blue;

                    fleuveSelectionne.EstSelectionne(false);
                    fleuveSelectionne = fleuve;
                    fleuveSelectionne.EstSelectionne(true);

                    indexSelectionFleuve = i;
                    ActiverModeFleuve(true);
                }
                else
                {
                    fleuveSelectionne.EstSelectionne(false);
                    fleuveSelectionne.GetComponent <SpriteShapeRenderer>().color = Color.white;
                    fleuveSelectionne    = null;
                    indexSelectionFleuve = -1;

                    ActiverModeFleuve(false);
                }
            }
            if (!modeFleuve)
            {
                fleuve.GetComponent <SpriteShapeRenderer>().color = Color.white;
                fleuveSelectionne    = null;
                indexSelectionFleuve = -1;
            }
        }
        GUI.backgroundColor = Color.white;
        GUILayout.EndVertical();

        GUILayout.Space(-300);

        // dessine les boutons de suppression qui vont avec
        GUILayout.BeginVertical();
        GUI.backgroundColor = Color.red;
        for (int i = 0; i < listeFleuves.Length; i++)
        {
            GUILayoutOption[] options = new GUILayoutOption[2] {
                GUILayout.Height(25), GUILayout.Width(100)
            };
            //Quand on clique sur un bouton, ça supprime le fleuve en question
            if (GUILayout.Button("SUPPRIMER", options))
            {
                if (i == indexSelectionFleuve)
                {
                    ActiverModeFleuve(false);
                    indexSelectionFleuve = -1;
                    fleuveSelectionne.GetComponent <Fleuve>().EstSelectionne(false);
                    fleuveSelectionne = null;
                }

                Fleuve fleuve = listeFleuves[i].GetComponent <Fleuve>();
                DestroyImmediate(fleuve.gameObject);
            }
        }
        GUI.backgroundColor = Color.white;
        GUILayout.EndVertical();

        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUI.backgroundColor = Color.green;
        GUILayoutOption[] optionsAjout = new GUILayoutOption[2] {
            GUILayout.Height(30), GUILayout.Width(30)
        };
        //Quand on clique sur un bouton, ça supprime le fleuve en question
        if (GUILayout.Button(" + ", optionsAjout))
        {
            GameObject nvFleuve = Instantiate(damierFleuve.fleuvePrefab);
            nvFleuve.transform.position = new Vector3(0, 0, -200);
            nvFleuve.name = "Fleuve" + (listeFleuves.Length);
            nvFleuve.GetComponent <Fleuve>().Init();
        }
        GUI.backgroundColor = Color.white;
    }