예제 #1
0
 void AddUVs(MapSegmentTile.Tile tile)
 {
     Vector2[] uv = MapAtlas.GetUVs(tile.templateColumn, tile.templateRow, (int)tile.rotation);
     foreach (var u in uv)
     {
         //Debug.Log("Adding UV: " + u.x + ", " + u.y);
         uvs.Add(u);
     }
 }
예제 #2
0
 void AddUVs(int column, int row)
 {
     Vector2[] uv = MapAtlas.GetUVs(column, row);
     foreach (var u in uv)
     {
         //Debug.Log("Adding UV: " + u.x + ", " + u.y);
         uvs.Add(u);
     }
 }
예제 #3
0
    private void Awake()
    {
        GetComponent <MeshFilter>().mesh = mapMesh = new Mesh();
        mapMesh.name = "Map Mesh";
        vertices     = new List <Vector3>();
        uvs          = new List <Vector2>();
        triangles    = new List <int>();
        colors       = new List <Color>();

        MapAtlas.Initialize();
    }
예제 #4
0
    private void CheckWater()
    {
        for (int i = 0; i < mapAtlas.Length; i++)
        {
            MapAtlas Mapatlas = Array.Find(mapAtlas, find => find.Color == colors.Find(x => x == mapAtlas[i].Color));

            foreach (KeyValuePair <Point, GameObject> tile in tiles)
            {
                string         composition = TileCheck(tile.Key);
                SpriteRenderer tileSprite  = tile.Value.GetComponent <SpriteRenderer>();

                if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("0");
                }
                if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("1");
                }
                if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("2");
                }
                if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("3");
                }
                if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("4");
                }
                if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("5");
                }
                if (composition[1] == 'W' && composition[4] == 'W' && composition[3] == 'E' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("6");
                }
                if (composition[1] == 'W' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("7");
                }
                if (composition[1] == 'W' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("8");
                }
                if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("9");
                }
                if (composition[1] == 'W' && composition[3] == 'E' && composition[4] == 'E' && composition[6] == 'W')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("10");
                }
                if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("11");
                }
                if (composition[1] == 'E' && composition[3] == 'E' && composition[4] == 'W' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("12");
                }
                if (composition[1] == 'E' && composition[3] == 'W' && composition[4] == 'E' && composition[6] == 'E')
                {
                    tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("13");
                }
                if (composition[3] == 'W' && composition[5] == 'E' && composition[6] == 'W')
                {
                    GameObject go = Instantiate(tile.Value, tile.Value.transform.position, Quaternion.identity, map);
                    go.GetComponent <SpriteRenderer>().sprite       = Mapatlas.SpriteAtlas.GetSprite("14");
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                }
                if (composition[1] == 'W' && composition[2] == 'E' && composition[4] == 'W')
                {
                    GameObject go = Instantiate(tile.Value, tile.Value.transform.position, Quaternion.identity, map);
                    go.GetComponent <SpriteRenderer>().sprite       = Mapatlas.SpriteAtlas.GetSprite("15");
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                }
                if (composition[4] == 'W' && composition[6] == 'W' && composition[7] == 'E')
                {
                    GameObject go = Instantiate(tile.Value, tile.Value.transform.position, Quaternion.identity, map);
                    go.GetComponent <SpriteRenderer>().sprite       = Mapatlas.SpriteAtlas.GetSprite("16");
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                }
                if (composition[0] == 'E' && composition[1] == 'W' && composition[3] == 'W')
                {
                    GameObject go = Instantiate(tile.Value, tile.Value.transform.position, Quaternion.identity, map);
                    go.GetComponent <SpriteRenderer>().sprite       = Mapatlas.SpriteAtlas.GetSprite("17");
                    go.GetComponent <SpriteRenderer>().sortingOrder = 1;
                }
                if (composition[1] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[6] == 'W')
                {
                    int randomChance = UnityEngine.Random.Range(0, 100);

                    if (randomChance < 15)
                    {
                        tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("19");
                    }
                }
                if (composition[1] == 'W' && composition[2] == 'W' && composition[3] == 'W' && composition[4] == 'W' && composition[5] == 'W' & composition[6] == 'W')
                {
                    int randomChance = UnityEngine.Random.Range(0, 100);

                    if (randomChance < 10)
                    {
                        tileSprite.sprite = Mapatlas.SpriteAtlas.GetSprite("20");
                    }
                }
            }
        }
    }