public override void Initialize(DeviceContext context) { GameScope.CurrentGameScope.Disposed += CurrentGameScope_Disposed; var cameraManager = _ioc.Get <CameraManager <ICameraFocused> >(); var timerManager = _ioc.Get <TimerManager>(); _inputsManager = _ioc.Get <InputsManager>(); _inputsManager.ActionsManager.KeyboardAction += ActionsManager_KeyboardAction; var guiManager = _ioc.Get <GuiManager>(); var iconFactory = _ioc.Get <IconFactory>(); var gameClock = _ioc.Get <IClock>(); var inventory = _ioc.Get <InventoryComponent>(); var windRose = _ioc.Get <WindRoseComponent>(); var chat = _ioc.Get <ChatComponent>(); chat.ActivatedChanged += chat_ActivatedChanged; _hud = (RealmsHud)_ioc.Get <Hud>(); _hud.CraftingButton.Pressed += CraftingButton_Pressed; _hud.InventoryButton.Pressed += InventoryButton_Pressed; var skyBackBuffer = _ioc.Get <StaggingBackBuffer>("SkyBuffer"); skyBackBuffer.DrawOrders.UpdateIndex(0, 50, "SkyBuffer"); if (ClientSettings.Current.Settings.GraphicalParameters.LandscapeFog == "SkyFog") { skyBackBuffer.EnableComponent(true); } var skyDome = _ioc.Get <ISkyDome>(); //Rendering time changed depending on landscape fog option, TRUE = Faster drawing (Because we are actively using depth testing) if (ClientSettings.Current.Settings.GraphicalParameters.LandscapeFog == "SkyFog") { skyDome.DrawOrders.UpdateIndex(0, 40); } else { skyDome.DrawOrders.UpdateIndex(0, 990); } var weather = _ioc.Get <IWeather>(); var worldChunks = _ioc.Get <IWorldChunks>(); var worldShadowMap = ClientSettings.Current.Settings.GraphicalParameters.ShadowMap ? _ioc.Get <WorldShadowMap>() : null; var pickingRenderer = _ioc.Get <IPickingRenderer>(); var dynamicEntityManager = _ioc.Get <IVisualDynamicEntityManager>(); _playerEntityManager = (PlayerEntityManager)_ioc.Get <IPlayerManager>(); _playerEntityManager.PlayerCharacter.Inventory.ItemPut += InventoryOnItemPut; _playerEntityManager.PlayerCharacter.Inventory.ItemTaken += InventoryOnItemTaken; _playerEntityManager.NeedToShowInventory += playerEntityManager_NeedToShowInventory; var sharedFrameCB = _ioc.Get <SharedFrameCB>(); _sandboxGameSoundManager = (RealmGameSoundManager)_ioc.Get <GameSoundManager>(); _serverComponent = _ioc.Get <ServerComponent>(); _serverComponent.ConnectionStatusChanged += ServerComponentOnConnectionStausChanged; var fadeComponent = _ioc.Get <FadeComponent>(); var voxelModelManager = _ioc.Get <VoxelModelManager>(); var adminConsole = _ioc.Get <AdminConsole>(); var toolRenderer = _ioc.Get <FirstPersonToolRenderer>(); var particuleEngine = _ioc.Get <UtopiaParticuleEngine>(); var ghostedRenderer = _ioc.Get <GhostedEntityRenderer>(); var crafting = _ioc.Get <CraftingComponent>(); var charSelection = _ioc.Get <CharacterSelectionComponent>(); var inventoryEvents = _ioc.Get <InventoryEventComponent>(); var pickingManager = _ioc.Get <PickingManager>(); var cracksRenderer = _ioc.Get <CracksRenderer>(); var postEffectComponent = _ioc.Get <PostEffectComponent>(); AddComponent(cameraManager); AddComponent(_serverComponent); AddComponent(_inputsManager); AddComponent(iconFactory); AddComponent(timerManager); AddComponent(skyBackBuffer); AddComponent(_playerEntityManager); AddComponent(dynamicEntityManager); AddComponent(_hud); AddComponent(guiManager); AddComponent(pickingRenderer); AddComponent(inventory); AddComponent(windRose); AddComponent(chat); AddComponent(skyDome); AddComponent(gameClock); AddComponent(weather); AddComponent(worldChunks); AddComponent(sharedFrameCB); AddComponent(_sandboxGameSoundManager); AddComponent(fadeComponent); AddComponent(voxelModelManager); AddComponent(toolRenderer); AddComponent(particuleEngine); AddComponent(ghostedRenderer); AddComponent(crafting); AddComponent(inventoryEvents); AddComponent(pickingManager); AddComponent(cracksRenderer); AddComponent(charSelection); AddComponent(postEffectComponent); if (worldShadowMap != null) { AddComponent(worldShadowMap); } #if DEBUG //Check if the GamePlay Components equal those that have been loaded inside the LoadingGameState foreach (var gc in _ioc.Get <LoadingGameState>().GameComponents.Except(GameComponents)) { if (gc.GetType() != typeof(Realms.Client.Components.GUI.LoadingComponent)) { logger.Warn("Missing GamePlayState component, present inside LoadingGameState : {0}", gc.GetType().ToString()); } } //Check if the GamePlay Components equal those that have been loaded inside the LoadingGameState foreach (var gc in GameComponents.Except(_ioc.Get <LoadingGameState>().GameComponents)) { if (gc.GetType() != typeof(LoadingComponent)) { logger.Warn("Missing LoadingGameState component, present inside GamePlayState : {0}", gc.GetType().ToString()); } } #endif base.Initialize(context); }