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; }
public TerrainTile(Point location, TerrainTileType type) : base(location) { Type = type; }
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); }