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); } } } }
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; }