// Use this for initialization void Start() { var mapGO = GameObject.Find("Map"); // 4 x 4 map objects ETiles[,] waterTiles = new ETiles[, ] // 10x10 water tieles { { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water }, { ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water, ETiles.water } }; ETiles[,] grassTiles = new ETiles[, ] // 10x10 water tieles { { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass }, { ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass, ETiles.grass } }; const int mapSize = 4; MapObject tile; for (int i = 0; i < mapSize; ++i) { for (int j = 0; j < mapSize; ++j) { if (i == 0 || i == mapSize - 1 || j == 0 || j == mapSize - 1) { tile = new MapObject(new Vector2(i * 10, j * 10), waterTiles, GetNeighbours(new Vector2(i, j)), m_TilePrefab, m_TileMaterials, mapGO); } else { tile = new MapObject(new Vector2(i * 10, j * 10), grassTiles, GetNeighbours(new Vector2(i, j)), m_TilePrefab, m_TileMaterials, mapGO); } m_TileList.Add(tile); } } // spawns var spawned = Instantiate(m_CreaturePrefab, new Vector3(20, 0, 20), Quaternion.identity, m_CreatureMapObj.transform).GetComponent <CreatureAI>(); spawned.Setup(null, this, m_Core); CreatureAIs.Add(spawned); }
public void ChangeTile(STile tile, ETiles newTileState) { tile.m_TileType = newTileState; // update colour switch (newTileState) { case ETiles.water: tile.m_GameObject.GetComponent <Renderer>().material = m_TileMaterials[(int)ETiles.water]; break; case ETiles.sand: tile.m_GameObject.GetComponent <Renderer>().material = m_TileMaterials[(int)ETiles.sand]; break; case ETiles.grass: tile.m_GameObject.GetComponent <Renderer>().material = m_TileMaterials[(int)ETiles.grass]; break; default: break; } }