public bool DoesTileHaveFeature(Tile_SimpleFeatureType featureType) { return(SimpleLayers[0] == featureType || SimpleLayers[1] == featureType || SimpleLayers[2] == featureType || SimpleLayers[3] == featureType); }
public Tile(IntVector2 position) { SimpleLayers = new Tile_SimpleFeatureType[(int)TileLayer.NUM_OF_LAYERS]; RandomizedColors = new Color[(int)TileLayer.NUM_OF_LAYERS, 2]; Position = position; Explored = false; //InitTile(); }
private void InitMapWithTileType(Tile_SimpleFeatureType tileType) { for (int i = 0; i < WIDTH; i++) { for (int k = 0; k < HEIGHT; k++) { _map[i, k] = new Tile(new IntVector2(i, k)); _map[i, k].SetFeature(Tile_SimpleFeatureType.STONE_WALL); _map[i, k].SetFeature(tileType); } } }
public Tile Copy() { Tile copy = new Tile(new IntVector2(Position)); copy.Explored = Explored; for (int i = 0; i < (int)TileLayer.NUM_OF_LAYERS; i++) { Tile_SimpleFeatureType featureType = GetLayer((TileLayer)i); copy.SetFeature(featureType); } return(copy); }
public IntVector2 GetFirstTileWithFeature(Tile_SimpleFeatureType featureType) { IntVector2 tile = null; foreach (Tile t in tiles) { if (t.DoesTileHaveFeature(featureType)) { tile = t.Position; } } return(tile); }
public void SetFeature(Tile_SimpleFeatureType feature) { if (feature == Tile_SimpleFeatureType.NONE) { return; } SimpleLayers[(int)GetFeature(feature).layer] = feature; RandomizedColors[(int)GetFeature(feature).layer, 0] = GetFeature(feature).displayCharColor; if (GetFeature(feature).displayCharColor != null && GetFeature(feature).displayCharColorRandomFactor != null) { RandomizedColors[(int)GetFeature(feature).layer, 0] = RandomizedColors[(int)GetFeature(feature).layer, 0].Randomize(GetFeature(feature).displayCharColorRandomFactor); } RandomizedColors[(int)GetFeature(feature).layer, 1] = GetFeature(feature).displayBackColor; if (GetFeature(feature).displayBackColor != null && GetFeature(feature).displayBackColorRandomFactor != null) { RandomizedColors[(int)GetFeature(feature).layer, 0] = RandomizedColors[(int)GetFeature(feature).layer, 1].Randomize(GetFeature(feature).displayBackColorRandomFactor); } }
public bool DoesTileHaveFeature(IntVector2 tilePos, Tile_SimpleFeatureType feature) { return(tiles[tilePos.X, tilePos.Y].DoesTileHaveFeature(feature)); }
static Tile_SimpleFeature GetFeature(Tile_SimpleFeatureType featureType) { return(SimpleFeatureCatalog[(int)featureType]); }