forked from townforge/townforge
game: add notification when starting a script
This commit is contained in:
parent
594c89923f
commit
be3cb8dba4
@ -2641,7 +2641,9 @@ void CryptoCityUrho3D::HandlePlayScript(StringHash eventType, VariantMap& eventD
|
||||
cmd.x = eventData[PlayScript::P_X].GetUInt();
|
||||
cmd.y = eventData[PlayScript::P_Y].GetUInt();
|
||||
cmd.h = eventData[PlayScript::P_H].GetUInt();
|
||||
const String script_name = eventData[PlayScript::P_SCRIPT_NAME].GetString();
|
||||
SendCommand(cmd);
|
||||
ui->AddToastNotification("Starting script '" + script_name + "'");
|
||||
}
|
||||
|
||||
void CryptoCityUrho3D::HandleEnableScript(StringHash eventType, VariantMap& eventData)
|
||||
|
@ -160,6 +160,8 @@ bool UIRunestoneMessageDialog::SetupScriptWidget(const std::shared_ptr<GameWalle
|
||||
TBButton *button = sw->GetWidgetByIDAndType<TBButton>(TBIDC("play"));
|
||||
button->SetState(WIDGET_STATE_DISABLED, !enable);
|
||||
|
||||
script_name = std::move(name);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -172,6 +174,7 @@ void UIRunestoneMessageDialog::HandlePlay(StringHash eventType, VariantMap& even
|
||||
newEventData[RunestoneMessagePlayScript::P_X] = runestone.x;
|
||||
newEventData[RunestoneMessagePlayScript::P_Y] = runestone.y;
|
||||
newEventData[RunestoneMessagePlayScript::P_H] = runestone.h;
|
||||
newEventData[RunestoneMessagePlayScript::P_SCRIPT_NAME] = script_name.c_str();
|
||||
SendEvent(E_RUNESTONE_MESSAGE_PLAY_SCRIPT, newEventData);
|
||||
|
||||
GetWidgetByIDAndType<TBToggleContainer>(TBIDC("script-container"))->SetValue(0);
|
||||
|
@ -24,7 +24,7 @@ class GameWallet;
|
||||
class Flag;
|
||||
|
||||
URHO3D_EVENT(E_RUNESTONE_MESSAGE_CLOSED, RunestoneMessageClosed) { }
|
||||
URHO3D_EVENT(E_RUNESTONE_MESSAGE_PLAY_SCRIPT, RunestoneMessagePlayScript) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_X, X); URHO3D_PARAM(P_Y, Y); URHO3D_PARAM(P_H, H); }
|
||||
URHO3D_EVENT(E_RUNESTONE_MESSAGE_PLAY_SCRIPT, RunestoneMessagePlayScript) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_X, X); URHO3D_PARAM(P_Y, Y); URHO3D_PARAM(P_H, H); URHO3D_PARAM(P_SCRIPT_NAME, ScriptName); }
|
||||
|
||||
class UIRunestoneMessageDialog: public UITBWindow
|
||||
{
|
||||
@ -51,6 +51,7 @@ private:
|
||||
cc::runestone_t runestone;
|
||||
bool refresh;
|
||||
std::string script_source;
|
||||
std::string script_name;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -135,6 +135,7 @@ bool UIScriptsDialog::ScriptWidget::OnEvent(const tb::TBWidgetEvent &ev)
|
||||
VariantMap eventData;
|
||||
eventData[ScriptsPlay::P_SCRIPT] = item->script;
|
||||
eventData[ScriptsPlay::P_CITY] = item->dialog->game->playerState.script_city;
|
||||
eventData[ScriptsPlay::P_SCRIPT_NAME] = item->str.CStr();
|
||||
item->dialog->SendEvent(E_SCRIPTS_PLAY_SCRIPT, eventData);
|
||||
|
||||
item->dialog->listContainer->SetValue(0);
|
||||
|
@ -29,7 +29,7 @@ namespace tb
|
||||
class GameState;
|
||||
class GameWallet;
|
||||
|
||||
URHO3D_EVENT(E_SCRIPTS_PLAY_SCRIPT, ScriptsPlay) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_X, X); URHO3D_PARAM(P_Y, Y); URHO3D_PARAM(P_H, H); }
|
||||
URHO3D_EVENT(E_SCRIPTS_PLAY_SCRIPT, ScriptsPlay) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_X, X); URHO3D_PARAM(P_Y, Y); URHO3D_PARAM(P_H, H); URHO3D_PARAM(P_SCRIPT_NAME, ScriptName); }
|
||||
URHO3D_EVENT(E_SCRIPTS_SELECT_SCRIPT, ScriptsSelect) { URHO3D_PARAM(P_SCRIPT, Script); }
|
||||
URHO3D_EVENT(E_SCRIPTS_CHOICE_MADE, ScriptsChoiceMade) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_STATE, State); URHO3D_PARAM(P_CHOICE, Choice); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_OWNER, Owner); }
|
||||
URHO3D_EVENT(E_SCRIPTS_CLOSED, ScriptsClosed) {}
|
||||
|
@ -197,7 +197,7 @@ URHO3D_EVENT(E_CRYPTOCITY_SMELT, Smelt) { URHO3D_PARAM(P_COIN, Coin); URHO3D_PAR
|
||||
URHO3D_EVENT(E_CRYPTOCITY_CANCEL_NONCE, CancelNonce) { URHO3D_PARAM(P_NONCE, Nonce); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_PLACE_MODEL, PlaceModel) { URHO3D_PARAM(P_DX, DX); URHO3D_PARAM(P_DY, DY); URHO3D_PARAM(P_DH, DH); URHO3D_PARAM(P_DR, DR); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_NEW_SCRIPT, NewScript) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_BLOBS, Blobs); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_PLAY_SCRIPT, PlayScript) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_X, X); URHO3D_PARAM(P_Y, Y); URHO3D_PARAM(P_H, H); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_PLAY_SCRIPT, PlayScript) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_FLAG, Flag); URHO3D_PARAM(P_X, X); URHO3D_PARAM(P_Y, Y); URHO3D_PARAM(P_H, H); URHO3D_PARAM(P_SCRIPT_NAME, ScriptName); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_ENABLE_SCRIPT, EnableScript) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_ENABLE, Enable); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_SCRIPT_CHOICE, ScriptChoice) { URHO3D_PARAM(P_SCRIPT, Script); URHO3D_PARAM(P_STATE, State); URHO3D_PARAM(P_CHOICE, Choice); URHO3D_PARAM(P_CITY, City); URHO3D_PARAM(P_OWNER, Owner); }
|
||||
URHO3D_EVENT(E_CRYPTOCITY_SET_GLOBAL_VARIABLE, SetGlobalVariable) { URHO3D_PARAM(P_NAME, Name); URHO3D_PARAM(P_VALUE, Value); }
|
||||
|
Loading…
Reference in New Issue
Block a user