public override void Set(TileObjectDefintion def) { base.Set(def); if (def.GetType() == typeof(EntranceDefinition)) { EntranceDefinition newDef = (EntranceDefinition)def; _entranceDef.color = newDef.color; } Refresh(); }
private void UpgradeLevels() { foreach (var level in levelList) { //Upgrade tiles List <Tile> tileList = new List <Tile>(level.Map.TileList); foreach (var tile in tileList) { Vec2i pos = tile.Pos; if (tile.TileDef.type == TileType.Bucket) { var def = new PaintBucketDefinition { pos = pos, className = "PaintBucket", color = tile.TileDef.color }; level.CreateTOAtPos(typeof(PaintBucket), def); } else if (tile.TileDef.type == TileType.Start) { var def = new EntranceDefinition { pos = pos, className = "Entrance" }; level.CreateTOAtPos(typeof(Entrance), def); } else if (tile.TileDef.type == TileType.Goal) { var def = new ExitDefinition { pos = pos, className = "Exit" }; level.CreateTOAtPos(typeof(Exit), def); } TileDefinition tileDef = new TileDefinition { type = TileType.Normal, goalColor = TileColor.None, color = TileColor.None, pos = pos }; //level.Map.SetTile(tile.Pos, tileDef); level.Map.DeleteTileAt(pos); level.CreateTileAtPos(pos, tileDef); } } }