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()); } }
void ClientUI::RecordChatLog(const std::string &msg, Vector4 color) { SPADES_MARK_FUNCTION(); if(!ui){ return; } static ScriptFunction func("ClientUI", "void RecordChatLog(string, Vector4)"); ScriptContextHandle c = func.Prepare(); std::string k = msg; c->SetObject(&*ui); c->SetArgObject(0, reinterpret_cast<void*>(&k)); c->SetArgObject(1, reinterpret_cast<void*>(&color)); c.ExecuteChecked(); }
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()); } }
void ClientUI::TextInputEvent(const std::string &ch) { SPADES_MARK_FUNCTION(); if(!ui){ return; } static ScriptFunction func("ClientUI", "void TextInputEvent(string)"); ScriptContextHandle c = func.Prepare(); std::string k = ch; c->SetObject(&*ui); c->SetArgObject(0, reinterpret_cast<void*>(&k)); c.ExecuteChecked(); }
void StartupScreen::TextInputEvent(const std::string &ch) { SPADES_MARK_FUNCTION(); if (!ui) { return; } ScopedPrivilegeEscalation privilege; static ScriptFunction func("StartupScreenUI", "void TextInputEvent(string)"); ScriptContextHandle c = func.Prepare(); std::string k = ch; c->SetObject(&*ui); c->SetArgObject(0, reinterpret_cast<void *>(&k)); c.ExecuteChecked(); }
void ClientUI::KeyEvent(const std::string & key, bool down) { SPADES_MARK_FUNCTION(); if(!ui){ return; } static ScriptFunction func("ClientUI", "void KeyEvent(string, bool)"); ScriptContextHandle c = func.Prepare(); std::string k = key; c->SetObject(&*ui); c->SetArgObject(0, reinterpret_cast<void*>(&k)); c->SetArgByte(1, down ? 1 : 0); c.ExecuteChecked(); }
void ClientUI::TextEditingEvent(const std::string &ch, int start, int len) { SPADES_MARK_FUNCTION(); if(!ui){ return; } static ScriptFunction func("ClientUI", "void TextEditingEvent(string,int,int)"); ScriptContextHandle c = func.Prepare(); std::string k = ch; c->SetObject(&*ui); c->SetArgObject(0, reinterpret_cast<void*>(&k)); c->SetArgDWord(1, static_cast<asDWORD>(start)); c->SetArgDWord(2, static_cast<asDWORD>(len)); c.ExecuteChecked(); }