void CGameUI2::Initialize(CreateInterfaceFn appFactory) { MEM_ALLOC_CREDIT(); ConnectTier1Libraries(&appFactory, 1); ConnectTier2Libraries(&appFactory, 1); ConVar_Register(FCVAR_CLIENTDLL); ConnectTier3Libraries(&appFactory, 1); engine = static_cast<IVEngineClient*>(appFactory(VENGINE_CLIENT_INTERFACE_VERSION, nullptr)); enginesound = static_cast<IEngineSound*>(appFactory(IENGINESOUND_CLIENT_INTERFACE_VERSION, nullptr)); enginevgui = static_cast<IEngineVGui*>(appFactory(VENGINE_VGUI_VERSION, nullptr)); soundemitterbase = static_cast<ISoundEmitterSystemBase*>(appFactory(SOUNDEMITTERSYSTEM_INTERFACE_VERSION, nullptr)); render = static_cast<IVRenderView*>(appFactory(VENGINE_RENDERVIEW_INTERFACE_VERSION, nullptr)); CreateInterfaceFn gameUIFactory = g_GameUI.GetFactory(); if (gameUIFactory) gameui = static_cast<IGameUI*>(gameUIFactory(GAMEUI_INTERFACE_VERSION, nullptr)); if (!enginesound || !enginevgui || !engine || !soundemitterbase || !render || !gameui) Error("CGameUI2::Initialize() failed to get necessary interfaces.\n"); if (!CommandLine()->FindParm("-shaderedit")) { GetBasePanel()->Create(); if (GetBasePanel()) gameui->SetMainMenuOverride(GetBasePanel()->GetMainMenu()->GetVPanel()); } }
void CGameUI2::Shutdown() { if (GetBasePanel()) GetBasePanel()->DeletePanel(); ConVar_Unregister(); DisconnectTier3Libraries(); DisconnectTier2Libraries(); DisconnectTier1Libraries(); }
void SMergeGraphView::FocusGraph(FName GraphName) { UEdGraph* GraphRemote = FindGraphByName(*GetRemotePanel().Blueprint, GraphName); UEdGraph* GraphBase = FindGraphByName(*GetBasePanel().Blueprint, GraphName); UEdGraph* GraphLocal = FindGraphByName(*GetLocalPanel().Blueprint, GraphName); GetBasePanel().GeneratePanel(GraphBase, nullptr); GetRemotePanel().GeneratePanel(GraphRemote, GraphBase); GetLocalPanel().GeneratePanel(GraphLocal, GraphBase); LockViews(DiffPanels, bViewsAreLocked); }
vgui::VPANEL CGameUI2::GetVPanel() { return GetBasePanel()->GetVPanel(); }