Close #13057: Make GameAction flags accessible by plugins. (#13359)

This commit is contained in:
Sadret 2020-11-03 16:43:43 +01:00 committed by GitHub
parent b0fd5f93d7
commit c602db27fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 1 deletions

View File

@ -1,5 +1,6 @@
0.3.2+ (in development)
------------------------------------------------------------------------
- Feature: [#13057] Make GameAction flags accessible by plugins.
- Change: [#13346] Change FootpathScenery to FootpathAddition in all occurrences
- Fix: [#13334] Uninitialised variables in CustomTabDesc
- Fix: [#13342] Rename tabChange to onTabChange in WindowDesc interface

View File

@ -233,6 +233,11 @@ public:
{
}
void AcceptFlags(GameActionParameterVisitor& visitor)
{
visitor.Visit("flags", _flags);
}
NetworkPlayerId_t GetPlayer() const
{
return _playerId;

View File

@ -43,7 +43,7 @@
using namespace OpenRCT2;
using namespace OpenRCT2::Scripting;
static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 8;
static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 9;
struct ExpressionStringifier final
{
@ -1090,6 +1090,7 @@ void ScriptEngine::RunGameActionHooks(const GameAction& action, std::unique_ptr<
DukObject args(_context);
DukFromGameActionParameterVisitor visitor(args);
const_cast<GameAction&>(action).AcceptParameters(visitor);
const_cast<GameAction&>(action).AcceptFlags(visitor);
obj.Set("args", args.Take());
}
@ -1129,6 +1130,7 @@ std::unique_ptr<GameAction> ScriptEngine::CreateGameAction(const std::string& ac
DukValue argsCopy = args;
DukToGameActionParameterVisitor visitor(std::move(argsCopy));
action->AcceptParameters(visitor);
action->AcceptFlags(visitor);
return action;
}
else