1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-02-02 03:35:09 +01:00

Allow non-networked plug-ins to set pause state directly

This commit is contained in:
spacek531
2024-06-25 02:36:01 -07:00
committed by GitHub
parent 889139976f
commit 4e72d580f8
3 changed files with 11 additions and 3 deletions

View File

@@ -9,6 +9,7 @@
- Feature: [#22046] [Plugin] Add interface for crashed vehicle particle.
- Feature: [#22085] [Plugin] The result of actions that create banners now includes the bannerIndex.
- Feature: [#22087] [Plugin] Expose guests favourite rides to the plugin API.
- Feature: [#22090] [Plugin] Allow writing of paused state in non-networked settings.
- Feature: [#22140] Add option to automatically close dropdown menus if Enlarged UI is enabled.
- Feature: [#22150] [Plugin] Expose monthly expenditure history to the plugin API.
- Improved: [#19870] Allow using new colours in UI themes.

View File

@@ -217,9 +217,9 @@ declare global {
readonly mode: GameMode;
/**
* Whether the game is currently paused or not.
* Whether the game is currently paused or not. Readonly in network mode.
*/
readonly paused: boolean;
paused: boolean;
/**
* Render the current state of the map and save to disc.

View File

@@ -131,6 +131,13 @@ namespace OpenRCT2::Scripting
return GameIsPaused();
}
void paused_set(const bool& value)
{
ThrowIfGameStateNotMutable();
if (value != GameIsPaused())
PauseToggle();
}
void captureImage(const DukValue& options)
{
auto ctx = GetContext()->GetScriptEngine().GetContext();
@@ -438,7 +445,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_property(ctx, &ScContext::paused_get, &ScContext::paused_set, "paused");
dukglue_register_method(ctx, &ScContext::captureImage, "captureImage");
dukglue_register_method(ctx, &ScContext::getObject, "getObject");
dukglue_register_method(ctx, &ScContext::getAllObjects, "getAllObjects");