diff --git a/src/openrct2/actions/GameAction.h b/src/openrct2/actions/GameAction.h index 4a017bb1f5..7e5e89eb0a 100644 --- a/src/openrct2/actions/GameAction.h +++ b/src/openrct2/actions/GameAction.h @@ -12,6 +12,7 @@ #include "../Game.h" #include "../common.h" #include "../core/DataSerialiser.h" +#include "../core/Identifier.hpp" #include "../localisation/StringIds.h" #include "GameActionResult.h" @@ -86,6 +87,13 @@ public: param = static_cast(value); } + template void Visit(std::string_view name, TIdentifier& param) + { + auto value = param.ToUnderlying(); + Visit(name, value); + param = TIdentifier::FromUnderlying(value); + } + template void Visit(std::string_view name, NetworkObjectId_t& param) { Visit(name, param.id);