public override object Clone() { ChestData data = new ChestData(); data.Name = chestData.Name; data.DifficultyLevel = chestData.DifficultyLevel; data.IsLocked = chestData.IsLocked; data.IsTrapped = chestData.IsTrapped; data.TrapName = chestData.TrapName; data.KeyName = chestData.KeyName; data.KeyType = chestData.KeyType; data.KeysRequired = chestData.KeysRequired; data.MinGold = chestData.MinGold; data.MaxGold = chestData.MaxGold; foreach (KeyValuePair<string, string> item in chestData.ItemCollection) data.ItemCollection.Add(item.Key, item.Value); Chest chest = new Chest(data); return chest; }
private void CreateWorld() { Texture2D tilesetTexture = Game.Content.Load<Texture2D>(@"Tilesets\tileset1"); Tileset tileset1 = new Tileset(tilesetTexture, 8, 8, 32, 32); tilesetTexture = Game.Content.Load<Texture2D>(@"Tilesets\tileset2"); Tileset tileset2 = new Tileset(tilesetTexture, 8, 8, 32, 32); List<Tileset> tilesets = new List<Tileset>(); tilesets.Add(tileset1); tilesets.Add(tileset2); MapLayer layer = new MapLayer(100, 100); for (int y = 0; y < layer.Height; y++) { for (int x = 0; x < layer.Width; x++) { XRpgLibrary.TileEngine.Tile tile = new XRpgLibrary.TileEngine.Tile(0, 0); layer.SetTile(x, y, tile); } } MapLayer splatter = new MapLayer(100, 100); Random random = new Random(); for (int i = 0; i < 80; i++) { int x = random.Next(0, 100); int y = random.Next(0, 100); int index = random.Next(2, 14); XRpgLibrary.TileEngine.Tile tile = new XRpgLibrary.TileEngine.Tile(index, 0); splatter.SetTile(x, y, tile); } splatter.SetTile(1, 0, new XRpgLibrary.TileEngine.Tile(0, 1)); splatter.SetTile(2, 0, new XRpgLibrary.TileEngine.Tile(2, 1)); splatter.SetTile(3, 0, new XRpgLibrary.TileEngine.Tile(0, 1)); List<MapLayer> mapLayers = new List<MapLayer>(); mapLayers.Add(layer); mapLayers.Add(splatter); TileMap map = new TileMap(tilesets, mapLayers); Level level = new Level(map); ChestData chestData = Game.Content.Load<ChestData>(@"Game\Chests\Plain Chest"); Chest chest = new Chest(chestData); BaseSprite chestSprite = new BaseSprite( containers, new Rectangle(0, 0, 32, 32), new Point(10, 10)); ItemSprite itemSprite = new ItemSprite( chest, chestSprite); level.Chests.Add(itemSprite); World world = new World(GameRef, GameRef.ScreenRectangle); world.Levels.Add(level); world.CurrentLevel = 0; GamePlayScreen.World = world; }