/// <summary> /// Creates the balloon, the dwarves, and the initial balloon port. /// </summary> public void CreateInitialEmbarkment() { // If no file exists, we have to create the balloon and balloon port. if(string.IsNullOrEmpty(ExistingFile)) { VoxelChunk c = ChunkManager.ChunkData.GetVoxelChunkAtWorldLocation(Camera.Position); GenerateInitialBalloonPort(Master.Faction.RoomBuilder, ChunkManager, Camera.Position.X, Camera.Position.Z, 3); CreateInitialDwarves(c); EntityFactory.CreateBalloon(new Vector3(Camera.Position.X, ChunkHeight - 2, Camera.Position.Z) + new Vector3(0, 1000, 0), new Vector3(Camera.Position.X, ChunkHeight - 2, Camera.Position.Z), ComponentManager, Content, GraphicsDevice, new ShipmentOrder(0, null), Master.Faction); } // Otherwise, we unfortunately need to take care of preliminaries to make sure // The game master was created correctly. else { InstanceManager.Clear(); gameFile.LoadComponents(ExistingFile); ComponentManager = gameFile.Data.Components; GameComponent.ResetMaxGlobalId(ComponentManager.GetMaxComponentID() + 1); Master = new GameMaster(ComponentManager.Factions.Factions["Player"], Game, ComponentManager, ChunkManager, Camera, GraphicsDevice, GUI); CreateGUIComponents(); } }