Expose whether the game is paused to the plugin API

This commit is contained in:
Katherine Norton 2024-05-03 10:59:57 -05:00 committed by GitHub
parent accbd799ee
commit cd528665e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 13 additions and 1 deletions

View File

@ -2,6 +2,7 @@
------------------------------------------------------------------------
- Feature: [#11512] Coloured usernames by group on multiplayer servers.
- Feature: [#21734] Park admittance price can now be set via text input.
- Feature: [#21957] [Plugin] Expose whether the game is paused to the plugin API.
- Improved: [#21728] “Fix all rides” cheat now also works if a mechanic is already fixing the ride.
- Improved: [#21769] Expose “animation is backwards” wall property in Tile Inspector.
- Improved: [#21855] Add a separator between “Load Game” and “Save Game”, to avoid accidental overwriting.

View File

@ -216,6 +216,11 @@ declare global {
*/
readonly mode: GameMode;
/**
* Whether the game is currently paused or not.
*/
readonly paused: boolean;
/**
* Render the current state of the map and save to disc.
* Useful for server administration and timelapse creation.

View File

@ -47,7 +47,7 @@ namespace OpenRCT2
namespace OpenRCT2::Scripting
{
static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 84;
static constexpr int32_t OPENRCT2_PLUGIN_API_VERSION = 85;
// Versions marking breaking changes.
static constexpr int32_t API_VERSION_33_PEEP_DEPRECATION = 33;

View File

@ -126,6 +126,11 @@ namespace OpenRCT2::Scripting
return "normal";
}
bool paused_get()
{
return GameIsPaused();
}
void captureImage(const DukValue& options)
{
auto ctx = GetContext()->GetScriptEngine().GetContext();
@ -433,6 +438,7 @@ namespace OpenRCT2::Scripting
dukglue_register_property(ctx, &ScContext::sharedStorage_get, nullptr, "sharedStorage");
dukglue_register_method(ctx, &ScContext::getParkStorage, "getParkStorage");
dukglue_register_property(ctx, &ScContext::mode_get, nullptr, "mode");
dukglue_register_property(ctx, &ScContext::paused_get, nullptr, "paused");
dukglue_register_method(ctx, &ScContext::captureImage, "captureImage");
dukglue_register_method(ctx, &ScContext::getObject, "getObject");
dukglue_register_method(ctx, &ScContext::getAllObjects, "getAllObjects");