public Tile(EnumTypeTile eTile, int px, int py)
 {
     type         = eTile;
     x            = px;
     y            = py;
     staticEntity = null;
     num          = 8;
 }
 public Tile(int _num, EnumTypeTile eTile, int px, int py)
 {
     num          = _num;
     type         = eTile;
     x            = px;
     y            = py;
     staticEntity = null;
 }
 public Tile(int _num, EnumTypeTile eTile, int px, int py, bool sh)
 {
     num          = _num;
     type         = eTile;
     x            = px;
     y            = py;
     staticEntity = null;
     show         = sh;
 }
Example #4
0
    public Tile getNearEmptyTile(EnumTypeTile type)
    {
        Tile t;

        for (int i = 0; ; i++)
        {
            for (int j = 0; ; j++)
            {
                t = map.getMap().GetTileAt(Mathf.FloorToInt(transform.position.x + i), Mathf.FloorToInt(transform.position.z + j));
                if (t.staticEntity == null && t.type == type)
                {
                    return(t);
                }
                t = map.getMap().GetTileAt(Mathf.FloorToInt(transform.position.x - i), Mathf.FloorToInt(transform.position.z - j));
                if (t.staticEntity == null && t.type == type)
                {
                    return(t);
                }
            }
        }
    }
Example #5
0
    public void changeTile(int x, int y, EnumTypeTile type)
    {
        Tile t = map.GetTileAt(x, y);

        t.type = type;
        map.setNumeroToTile(type, x, y);


        //changeTileTexture (x, y,t.num);

        //attention bordure de map

        for (int i = x - 1; i <= x + 1; i++)
        {
            for (int j = y - 1; j <= y + 1; j++)
            {
                map.setNumeroToTile(map.GetTileAt(i, j).type, i, j);

                changeTileTexture(i, j, map.GetTileAt(i, j).num);
            }
        }
    }
Example #6
0
 public void setTextureTile(int x, int y, int num, EnumTypeTile type)
 {
     //changeTile (x, y, num, type);
 }
 public Tile(int _num, EnumTypeTile eTile)
 {
     num          = _num;
     type         = eTile;
     staticEntity = null;
 }
 public Tile(EnumTypeTile eTile)
 {
     type = eTile;
 }
Example #9
0
    public void setNumeroToTile(EnumTypeTile type, int x, int y)
    {
        bool vue = false, vde = false, vre = false, vle = false,
             vure = false, vule = false, vdre = false, vdle = false;


        if (map_data[x + 1, y].type != type)
        {
            vre = true;
        }
        if (map_data[x + 1, y + 1].type != type)
        {
            vure = true;
        }
        if (map_data[x + 1, y - 1].type != type)
        {
            vdre = true;
        }
        if (map_data[x, y + 1].type != type)
        {
            vue = true;
        }

        if (map_data[x - 1, y + 1].type != type)
        {
            vule = true;
        }
        if (map_data[x, y - 1].type != type)
        {
            vde = true;
        }
        if (map_data[x - 1, y - 1].type != type)
        {
            vdle = true;
        }
        if (map_data[x - 1, y].type != type)
        {
            vle = true;
        }


        int num = 13;

        if (vle)
        {
            num = 7;
            if (vue)
            {
                num = 34;

                if (vde)
                {
                    num = 66;
                    if (vre)
                    {
                        num = 228;
                    }
                }
                else if (vre)
                {
                    num = 67;
                }
                else if (vdre)
                {
                    num = 224;
                }
            }
            else if (vde)
            {
                num = 33;
                if (vre)
                {
                    num = 65;
                }
                else if (vure)
                {
                    num = 227;
                }
            }
            else if (vre)
            {
                num = 37;
            }
            else if (vure)
            {
                num = 196;
                if (vdre)
                {
                    num = 195;
                }
            }
            else if (vdre)
            {
                num = 197;
            }
        }
        else if (vde)
        {
            num = 1;
            if (vre)
            {
                num = 32;
                if (vule)
                {
                    num = 226;
                }
            }
            else if (vue)
            {
                num = 36;
            }
            else if (vure)
            {
                num = 162;
                if (vule)
                {
                    num = 160;
                }
            }
            else if (vule)
            {
                num = 161;
            }
        }
        else if (vue)
        {
            num = 5;
            if (vre)
            {
                num = 35;
                if (vule)
                {
                    num = 225;
                }
            }
            else if (vdle)
            {
                num = 193;
                if (vdre)
                {
                    num = 192;
                }
            }
            else if (vdre)
            {
                num = 194;
            }
        }
        else if (vre)
        {
            num = 3;
            if (vule)
            {
                num = 164;
                if (vdle)
                {
                    num = 163;
                }
            }
            else if (vdle)
            {
                num = 165;
            }
        }
        else if (vdle)
        {
            num = 2;
            if (vure)
            {
                num = 101;
                if (vule)
                {
                    num = 130;
                    if (vdre)
                    {
                        num = 132;
                    }
                }
                else if (vdre)
                {
                    num = 131;
                }
            }
            else if (vule)
            {
                num = 99;
                if (vdre)
                {
                    num = 128;
                }
            }
            else if (vdre)
            {
                num = 96;
            }
        }
        else if (vdre)
        {
            num = 0;
            if (vule)
            {
                num = 98;
                if (vure)
                {
                    num = 129;
                }
            }
            else if (vure)
            {
                num = 97;
            }
        }
        else if (vule)
        {
            num = 6;
            if (vure)
            {
                num = 100;
            }
        }
        else if (vure)
        {
            num = 4;
        }
        else
        {
            int randVar  = Random.Range(0, 5);
            int randTile = 0;
            if (randVar == 0)
            {
                randTile = Random.Range(0, 4);
            }
            num = 13 + randTile;
        }
        switch (type)
        {
        case EnumTypeTile.EARTH:

            break;

        case EnumTypeTile.GRASS:
            num += 256;
            break;

        case EnumTypeTile.STONE:
            num += 512;
            break;

        default:
            break;
        }

        map_data[x, y].setNum(num);
    }