private void SetupWorld(int width, int height) { // Set the current world to be this world. // TODO: Do we need to do any cleanup of the old world? Current = this; RoomManager = new RoomManager(); RoomManager.Adding += (room) => roomGraph = null; RoomManager.Removing += (room) => roomGraph = null; FillTilesArray(); FurnitureManager = new FurnitureManager(); FurnitureManager.Created += OnFurnitureCreated; UtilityManager = new UtilityManager(); CharacterManager = new CharacterManager(); InventoryManager = new InventoryManager(); jobQueue = new JobQueue(); GameEventManager = new GameEventManager(); PowerNetwork = new PowerNetwork(); FluidNetwork = new FluidNetwork(); temperature = new TemperatureDiffusion(this); Wallet = new Wallet(); CameraData = new CameraData(); LoadSkybox(); AddEventListeners(); holder.Start(); biomes.RandomBiome(); mapData.SetupWorld(width, height, biome.maxHeight); }