Exemple #1
0
    public Tile CreateTile(TilesTypes type)
    {
        var go = GameObject.Instantiate(_goTile);

        go.GetComponent <SpriteRenderer>().sprite = SpriteForTile(type);
        return(new Tile(type, go));
    }
Exemple #2
0
    private int TilesCount(TilesTypes type)
    {
        int tilesCount = 0;

        switch (type)
        {
        case TilesTypes.Brick:
            tilesCount = 3;
            break;

        case TilesTypes.Desert:
            tilesCount = 1;
            break;

        case TilesTypes.Hay:
            tilesCount = 4;
            break;

        case TilesTypes.Stone:
            tilesCount = 3;
            break;

        case TilesTypes.Wood:
            tilesCount = 4;
            break;

        case TilesTypes.Wool:
            tilesCount = 4;
            break;
        }
        return(tilesCount);
    }
 public List<Tile> CreateTiles(TilesTypes type)
 {
     var tilesCount = TilesCount(type);
     var tiles = new List<Tile>();
     for (int i = 0; i < tilesCount; i++) {
         Tile tile = CreateTile(type);
         tiles.Add(tile);
     }
     return tiles;
 }
Exemple #4
0
    public List <Tile> CreateTiles(TilesTypes type)
    {
        var tilesCount = TilesCount(type);
        var tiles      = new List <Tile>();

        for (int i = 0; i < tilesCount; i++)
        {
            Tile tile = CreateTile(type);
            tiles.Add(tile);
        }
        return(tiles);
    }
Exemple #5
0
    private Sprite SpriteForTile(TilesTypes type)
    {
        Sprite sprite     = null;
        String spriteName = null;

        switch (type)
        {
        case TilesTypes.Brick:
            spriteName = "brick";
            break;

        case TilesTypes.Desert:
            spriteName = "desert";
            break;

        case TilesTypes.Hay:
            spriteName = "hay";
            break;

        case TilesTypes.Stone:
            spriteName = "stone";
            break;

        case TilesTypes.Wood:
            spriteName = "wood";
            break;

        case TilesTypes.Wool:
            spriteName = "wool";
            break;
        }
        if (!_spritesCache.ContainsKey(spriteName))
        {
            sprite = Resources.Load(TileSpritePath + spriteName, typeof(Sprite)) as Sprite;
            _spritesCache.Add(spriteName, sprite);
        }
        else
        {
            sprite = _spritesCache[spriteName];
        }
        return(sprite);
    }
Exemple #6
0
        private int GetTilesInRowMatchCountByType(int column, int row, TilesTypes type)
        {
            int result     = 1;
            var columnDown = column - 1;
            var columnUp   = column + 1;

            while (columnDown >= 0 && columnDown < RowTileCount && tiles[columnDown, row] != null &&
                   tiles[columnDown, row].GetTileType().Equals(type))
            {
                result++;
                columnDown--;
            }

            while (columnUp >= 0 && columnUp < RowTileCount && tiles[columnUp, row] != null &&
                   tiles[columnUp, row].GetTileType().Equals(type))
            {
                result++;
                columnUp++;
            }

            return(result);
        }
Exemple #7
0
        private int GetTilesInColumnMatchCountByType(int column, int row, TilesTypes type)
        {
            int result  = 1;
            var rowDown = row - 1;
            var rowUp   = row + 1;

            while (rowDown >= 0 && rowDown < ColumnTileCount && tiles[column, rowDown] != null &&
                   tiles[column, rowDown].GetTileType().Equals(type))
            {
                result++;
                rowDown--;
            }

            while (rowUp >= 0 && rowUp < ColumnTileCount && tiles[column, rowUp] != null &&
                   tiles[column, rowUp].GetTileType().Equals(type))
            {
                result++;
                rowUp++;
            }

            return(result);
        }
Exemple #8
0
    private static ResourceType ResourceTypeForTile(TilesTypes tileType)
    {
        switch (tileType)
        {
        case TilesTypes.Brick:
            return(ResourceType.Brick);

        case TilesTypes.Hay:
            return(ResourceType.Hay);

        case TilesTypes.Stone:
            return(ResourceType.Stone);

        case TilesTypes.Wood:
            return(ResourceType.Wood);

        case TilesTypes.Wool:
            return(ResourceType.Wool);

        default:
            return(ResourceType.Brick);
        }
    }
Exemple #9
0
 public Tile(TilesTypes type, GameObject go)
 {
     _type = type;
     _go   = go;
     _go.GetComponent <Resource>().ResourceType = ResourceTypeForTile(type);
 }
Exemple #10
0
 private static ResourceType ResourceTypeForTile(TilesTypes tileType)
 {
     switch (tileType) {
         case TilesTypes.Brick:
         return ResourceType.Brick;
         case TilesTypes.Hay:
         return ResourceType.Hay;
         case TilesTypes.Stone:
         return ResourceType.Stone;
         case TilesTypes.Wood:
         return ResourceType.Wood;
         case TilesTypes.Wool:
         return ResourceType.Wool;
         default:
         return ResourceType.Brick;
     }
 }
Exemple #11
0
 public Tile(TilesTypes type, GameObject go)
 {
     _type = type;
     _go = go;
     _go.GetComponent<Resource>().ResourceType = ResourceTypeForTile(type);
 }
Exemple #12
0
 public Tile(TilesTypes type, int index)
 {
     this.type  = type;
     this.index = index;
 }
Exemple #13
0
 private bool IsMatchedForWinByType(int column, int row, TilesTypes type)
 {
     return(GetTilesInColumnMatchCountByType(column, row, type) >= TileForWinCount ||
            GetTilesInRowMatchCountByType(column, row, type) >= TileForWinCount);
 }
 private Sprite SpriteForTile(TilesTypes type)
 {
     Sprite sprite = null;
     String spriteName = null;
     switch (type) {
         case TilesTypes.Brick:
         spriteName = "brick";
         break;
         case TilesTypes.Desert:
         spriteName = "desert";
         break;
         case TilesTypes.Hay:
         spriteName = "hay";
         break;
         case TilesTypes.Stone:
         spriteName = "stone";
         break;
         case TilesTypes.Wood:
         spriteName = "wood";
         break;
         case TilesTypes.Wool:
         spriteName = "wool";
         break;
     }
     if (!_spritesCache.ContainsKey(spriteName)) {
         sprite = Resources.Load(TileSpritePath + spriteName, typeof(Sprite)) as Sprite;
         _spritesCache.Add(spriteName, sprite);
     } else {
          sprite = _spritesCache[spriteName];
     }
     return sprite;
 }
 public Tile CreateTile(TilesTypes type)
 {
     var go = GameObject.Instantiate(_goTile);
     go.GetComponent<SpriteRenderer>().sprite = SpriteForTile(type);
     return new Tile(type, go);
 }
 private int TilesCount(TilesTypes type)
 {
     int tilesCount = 0;
     switch (type) {
         case TilesTypes.Brick:
         tilesCount = 3;
         break;
         case TilesTypes.Desert:
         tilesCount = 1;
         break;
         case TilesTypes.Hay:
         tilesCount = 4;
         break;
         case TilesTypes.Stone:
         tilesCount = 3;
         break;
         case TilesTypes.Wood:
         tilesCount = 4;
         break;
         case TilesTypes.Wool:
         tilesCount = 4;
         break;
     }
     return tilesCount;
 }