Example #1
0
 public override void Set(TileObjectDefintion def)
 {
     base.Set(def);
     if (def.GetType() == typeof(EntranceDefinition))
     {
         EntranceDefinition newDef = (EntranceDefinition)def;
         _entranceDef.color = newDef.color;
     }
     Refresh();
 }
Example #2
0
    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);
            }
        }
    }