ClientUI::ClientUI(client::IRenderer *r, client::IAudioDevice *a, IFont *font, Client *client) : renderer(r), audioDevice(a), font(font),client(client){ SPADES_MARK_FUNCTION(); if(r == NULL) SPInvalidArgument("r"); if(a == NULL) SPInvalidArgument("a"); helper.Set(new ClientUIHelper(this), false); static ScriptFunction uiFactory("ClientUI@ CreateClientUI(Renderer@, AudioDevice@, Font@, ClientUIHelper@)"); { ScriptContextHandle ctx = uiFactory.Prepare(); ctx->SetArgObject(0, renderer); ctx->SetArgObject(1, audioDevice); ctx->SetArgObject(2, font); ctx->SetArgObject(3, &*helper); ctx.ExecuteChecked(); ui = reinterpret_cast<asIScriptObject *>(ctx->GetReturnObject()); } }
AABB2 ClientUI::GetTextInputRect() { SPADES_MARK_FUNCTION(); if(!ui){ return AABB2(); } static ScriptFunction func("ClientUI", "AABB2 GetTextInputRect()"); ScriptContextHandle c = func.Prepare(); c->SetObject(&*ui); c.ExecuteChecked(); return *reinterpret_cast<AABB2*>(c->GetReturnObject()); }
AABB2 StartupScreen::GetTextInputRect() { SPADES_MARK_FUNCTION(); if (!ui) { return AABB2(); } ScopedPrivilegeEscalation privilege; static ScriptFunction func("StartupScreenUI", "AABB2 GetTextInputRect()"); ScriptContextHandle c = func.Prepare(); c->SetObject(&*ui); c.ExecuteChecked(); return *reinterpret_cast<AABB2 *>(c->GetReturnObject()); }
void StartupScreen::DoInit() { SPADES_MARK_FUNCTION(); ScopedPrivilegeEscalation privilege; static ScriptFunction uiFactory("StartupScreenUI@ CreateStartupScreenUI(Renderer@, " "AudioDevice@, FontManager@, StartupScreenHelper@)"); { ScriptContextHandle ctx = uiFactory.Prepare(); ctx->SetArgObject(0, renderer); ctx->SetArgObject(1, audioDevice); ctx->SetArgObject(2, fontManager); ctx->SetArgObject(3, &*helper); ctx.ExecuteChecked(); ui = reinterpret_cast<asIScriptObject *>(ctx->GetReturnObject()); } }
void MainScreen::DoInit() { SPADES_MARK_FUNCTION(); renderer->Init(); static ScriptFunction uiFactory("MainScreenUI@ CreateMainScreenUI(Renderer@, AudioDevice@, Font@, MainScreenHelper@)"); { ScriptContextHandle ctx = uiFactory.Prepare(); ctx->SetArgObject(0, renderer); ctx->SetArgObject(1, audioDevice); ctx->SetArgObject(2, font); ctx->SetArgObject(3, &*helper); ctx.ExecuteChecked(); ui = reinterpret_cast<asIScriptObject *>(ctx->GetReturnObject()); } }