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
    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);
    }
Esempio n. 3
0
    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);
    }