Beispiel #1
0
    public void ReplaceTile <T> (int p_x, int p_z) where T : Script_ITile
    {
        if (typeof(T) == typeof(Script_TileGrass))
        {
            Script_ITile tile = AccessGridTile(p_x, p_z);
            tile.DestroyGameObject();

            Vector3Int       newPos  = new Vector3Int(p_x, 0, p_z);
            Script_TileGrass newTile = new Script_TileGrass(_gameManager, this, newPos);
            SetGridTile(p_x, p_z, newTile);
        }

        if (typeof(T) == typeof(Script_TileDirt))
        {
            Script_ITile tile = AccessGridTile(p_x, p_z);
            tile.DestroyGameObject();

            Vector3Int      newPos  = new Vector3Int(p_x, 0, p_z);
            Script_TileDirt newTile = new Script_TileDirt(_gameManager, this, newPos);
            SetGridTile(p_x, p_z, newTile);
        }

        if (typeof(T) == typeof(Script_TileCrater))
        {
            Script_ITile tile = AccessGridTile(p_x, p_z);
            tile.DestroyGameObject();

            Vector3Int        newPos  = new Vector3Int(p_x, 0, p_z);
            Script_TileCrater newTile = new Script_TileCrater(_gameManager, this, newPos);
            SetGridTile(p_x, p_z, newTile);
        }
    }
Beispiel #2
0
 private void SetGridTile(int p_x, int p_z, Script_ITile p_tile)
 {
     _grid [p_z * _width + p_x] = p_tile;
 }