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); } } } }
public void GenDamier(MappeSysteme.Mappe mappe) { colonnes = mappe.colonnes; lignes = mappe.lignes; ClearDamier(true); TuileManager[,] damierTuiles = new TuileManager[mappe.colonnes, mappe.lignes]; int col = 0; int ligne = -1; float tailleTuileX = tuileHexa.GetComponent <SpriteRenderer>().bounds.size.x; float tailleTuileY = tuileHexa.GetComponent <SpriteRenderer>().bounds.size.y; Vector3 positionTuile = new Vector3(); for (int i = 0; i < mappe.colonnes * mappe.lignes; i++) { if (i % mappe.colonnes != 0) { col++; } else if (ligne <= mappe.lignes) { col = 0; ligne++; } positionTuile.x = col * tailleTuileX + ((tailleTuileX / 2) * (ligne % 2)); positionTuile.y = ligne * (tailleTuileY / 4 * 3); positionTuile.z = ligne * 0.01f; GameObject nvlTuile = Instantiate(tuileHexa, transform); nvlTuile.transform.position += positionTuile; damierTuiles[col, ligne] = nvlTuile.GetComponent <TuileManager>(); damierTuiles[col, ligne].SetTerrain(mappe.mappeTerrains[col, ligne]); } foreach (TuileManager tuile in damierTuiles) { tuile.Init(); } damier = RecupDamier(); RenommerTuilesDamier(); damierFleuve.GenererDamierFleuve(mappe); }
public void GenererDamierFleuve(MappeSysteme.Mappe mappe) { ClearDamierFleuve(); colonnes = mappe.colonnes; lignes = mappe.lignes * 2; //print("Lignes : " + lignes); //print("colonnes : " + colonnes); damierFleuve = new NoeudFleuve[colonnes, lignes]; //print(damierFleuve.GetLength(1)); float tailleTuileX = damierGen.tuileHexa.GetComponent <SpriteRenderer>().bounds.size.x; float tailleTuileY = damierGen.tuileHexa.GetComponent <SpriteRenderer>().bounds.size.y; Vector3 position = new Vector3(); for (int y = 0; y < damierFleuve.GetLength(1); y++) { position.x = 0; if (y != 0) { position.y += tailleTuileY / 2; } for (int x = 0; x < damierFleuve.GetLength(0); x++) { //print(y % 4); if (y != 0 && y != 1) { if (x == 0) { if (y % 4 == 0) { position.y -= tailleTuileY / 4; } else if (y % 4 == 2 || y % 4 == 3) { position.x -= tailleTuileX / 2; if (y % 4 == 2) { position.y -= tailleTuileY / 4; } } } } position.x += tailleTuileX; GameObject nvNoeud = Instantiate(noeudFleuve, transform); nvNoeud.transform.position += position; nvNoeud.GetComponent <NoeudFleuve>().EstSelectionne(false); //print(nvNoeud.transform.position); } } RenommerNoeudsFleuve(); GenererFleuve(mappe); }