public TerrainTile(GameObject gameObject, int x, int y, Direction direction, int directTilesBefore, TerrainTileType type)
 {
     GameObject = gameObject;
     X = x;
     Y = y;
     DirectTilesBefore = directTilesBefore;
     Direction = direction;
     Type = type;
     hasObstacle = false;
 }
Exemple #2
0
 public TerrainTile(Point location, TerrainTileType type) : base(location)
 {
     Type = type;
 }
Exemple #3
0
        public uint getTileTypeColor(int tileTypeIndex)
        {
            TerrainTileType type = SimTerrainType.getTileTypeByIndex(tileTypeIndex);

            return(Convert.ToUInt32(type.EditorColor, 16));;
        }
    private void AddNextTileTo(
		TerrainTile tile,
		Direction newDirection,
		TerrainTileType newTileType,
		bool isFirstAfterTurn)
    {
        var newTileLocation = GetNextLocationTo(tile.X, tile.Y, newDirection);
        var newTileGameObject = (GameObject)Instantiate(trackPrefab);
        var newTileCoordinates = LocationToCoordinates(newTileLocation.x, newTileLocation.y);
        newTileGameObject.transform.Translate(newTileCoordinates);

        var newTile = new TerrainTile(
            newTileGameObject,
            newTileLocation.x,
            newTileLocation.y,
            newDirection,
            isFirstAfterTurn ? 0 : tile.DirectTilesBefore + 1,
            newTileType);

        if (CanAddCoin(newTile))
        {
            AddCoin(newTile);
        }
        else if (CanAddObstacle(newTile, tile.hasObstacle))
        {
            AddObstacle(newTile);
        }

        tile.isBorderTail = false;
        newTile.isBorderTail = true;

        _terrainTiles.Add(newTile);
    }