public static void DumpGame(World world, BinaryOutput output) { new RegionData().Encode(output, world); output.Write(world.Maps.Count); foreach (Map map in world.Maps) { new MapData().Encode(output, map); } }
public World CreateWorld(GameScene scene, GraphicsDevice GraphicsDevice) { World result = new World(Name, GraphicsDevice, scene); result.Author = Author; result.TilesetFactory = this.TilesetFactory; result.EntityTemplateFactory = this.EntityTemplateFactory; result.TilesetContainer = this.TilesetContainer; result.EntityContainer = this.EntityContainer; result.UIContainer = this.UIContainer; result.SpriteLibrary = this.SpriteLibrary; return result; }
public void Encode(BinaryOutput stream, World world) { stream.Write(world.Name); stream.Write(world.Author ?? ""); world.TilesetFactory.Encode(stream); world.EntityTemplateFactory.Encode(stream); world.TilesetContainer.Encode(stream); world.EntityContainer.Encode(stream); world.UIContainer.Encode(stream); world.SpriteLibrary.Encode(stream); }
public GameScene(GameData data, SpriteBatch SpriteBatch) { this.SpriteBatch = SpriteBatch; this.UIManager = new UIManager(); this.Data = data; World = Data.RegionData.CreateWorld(this, SpriteBatch.GraphicsDevice); World.Maps.Add(Data.MapDatas[0].CreateMap(World)); EntityTemplate templatePlayer = World.EntityContainer.GetPlayers()[0]; Player = templatePlayer.CreateEntity(World.EntityFactory, true) as PlayerEntity; World.Player = Player; World.Maps[0].AddEntity(Player); new LivingController(Player); World.CurrentMap = Player.Map; this.SceneState = SceneState.Alive; }
public Map CreateMap(World world) { Map result = new Map(world.EntityFactory, Name, Author, Width, Height); result.Tilesets = this.Tilesets; foreach (MockupTileset tileset in result.Tilesets) { tileset.world = world; } result.Tiles = Tiles; for (int i = 0; i < result.Width; i++) for (int j = 0; j < result.Height; j++) for (int k = 0; k < Map.LayerCount; k++) Tiles[i][j][k].map = result; foreach (Tuple<Int32, Vector2> token in Entities) { MapEntity e = world.EntityContainer.Get(token.Item1).CreateEntity(world.EntityFactory); e.Position = token.Item2; result.Entities.Add(e); } return result; }
public void LoadWorld(World GameDumpWorld, string GameDumpLocation) { if (GameDumpWorld == null && GameDumpLocation == null) return; if (GameDumpWorld != null) { Stream stream = new MemoryStream(); GameData.DumpGame(GameDumpWorld, new BinaryOutput(stream)); stream.Seek(0, SeekOrigin.Begin); this.Data = GameData.ReadGame(this.GraphicsDevice, new BinaryInput(stream)); stream.Flush(); stream.Close(); } else { if (!string.IsNullOrEmpty(GameDumpLocation)) { this.Data = GameData.ReadGame(this.GraphicsDevice, GameDumpLocation); } else { using (OpenFileDialog dialog = new OpenFileDialog()) { dialog.Filter = "PokeSharp Game Dump (*.psg)|*.psg"; if (dialog.ShowDialog() == DialogResult.OK) { this.Data = GameData.ReadGame(this.GraphicsDevice, GameDumpLocation); } else { Environment.Exit(0); } } } } }
public void LoadWorld(World baseworld) { LoadWorld(baseworld, null); }
public ControlGameEngine(World world) { this.World = world; this.GameLoopEnabled = true; }
public World CreateRegion(string name) { Initialized = true; World = new World(name, GraphicsDevice); World.Maps.Clear(); return World; }
public static void DumpGame(World world, Stream stream) { using (BinaryOutput output = new BinaryOutput(stream)) { DumpGame(world, output); } }
public static void DumpGame(World world, string loc) { DumpGame(world, File.OpenWrite(loc)); }
public Map(IRegionEntityFactory factory) : this() { this.World = factory.World; }
public FrmGameTest(World testWorld) { this.testWorld = testWorld; InitializeComponent(); }
public MockupTileset(World world, int tilesheetindex) { this.world = world; this.tilesheetindex = tilesheetindex; }