mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-21 14:53:02 +01:00
Add owner property to tile elements for scripting
This commit is contained in:
1
distribution/openrct2.d.ts
vendored
1
distribution/openrct2.d.ts
vendored
@@ -1472,6 +1472,7 @@ declare global {
|
|||||||
occupiedQuadrants: number;
|
occupiedQuadrants: number;
|
||||||
isGhost: boolean;
|
isGhost: boolean;
|
||||||
isHidden: boolean; /** Take caution when changing this field, it may invalidate TileElements you have stored in your script. */
|
isHidden: boolean; /** Take caution when changing this field, it may invalidate TileElements you have stored in your script. */
|
||||||
|
owner: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SurfaceElement extends BaseTileElement {
|
interface SurfaceElement extends BaseTileElement {
|
||||||
|
|||||||
@@ -2033,6 +2033,20 @@ namespace OpenRCT2::Scripting
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DukValue ScTileElement::owner_get() const
|
||||||
|
{
|
||||||
|
auto& scriptEngine = GetContext()->GetScriptEngine();
|
||||||
|
auto* ctx = scriptEngine.GetContext();
|
||||||
|
duk_push_uint(ctx, _element->GetOwner());
|
||||||
|
return DukValue::take_from_stack(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScTileElement::owner_set(uint8_t value)
|
||||||
|
{
|
||||||
|
ThrowIfGameStateNotMutable();
|
||||||
|
_element->SetOwner(value);
|
||||||
|
}
|
||||||
|
|
||||||
void ScTileElement::Invalidate()
|
void ScTileElement::Invalidate()
|
||||||
{
|
{
|
||||||
MapInvalidateTileFull(_coords);
|
MapInvalidateTileFull(_coords);
|
||||||
@@ -2051,6 +2065,7 @@ namespace OpenRCT2::Scripting
|
|||||||
ctx, &ScTileElement::occupiedQuadrants_get, &ScTileElement::occupiedQuadrants_set, "occupiedQuadrants");
|
ctx, &ScTileElement::occupiedQuadrants_get, &ScTileElement::occupiedQuadrants_set, "occupiedQuadrants");
|
||||||
dukglue_register_property(ctx, &ScTileElement::isGhost_get, &ScTileElement::isGhost_set, "isGhost");
|
dukglue_register_property(ctx, &ScTileElement::isGhost_get, &ScTileElement::isGhost_set, "isGhost");
|
||||||
dukglue_register_property(ctx, &ScTileElement::isHidden_get, &ScTileElement::isHidden_set, "isHidden");
|
dukglue_register_property(ctx, &ScTileElement::isHidden_get, &ScTileElement::isHidden_set, "isHidden");
|
||||||
|
dukglue_register_property(ctx, &ScTileElement::owner_get, &ScTileElement::owner_set, "owner");
|
||||||
|
|
||||||
// Track | Small Scenery | Wall | Entrance | Large Scenery | Banner
|
// Track | Small Scenery | Wall | Entrance | Large Scenery | Banner
|
||||||
dukglue_register_property(ctx, &ScTileElement::direction_get, &ScTileElement::direction_set, "direction");
|
dukglue_register_property(ctx, &ScTileElement::direction_get, &ScTileElement::direction_set, "direction");
|
||||||
|
|||||||
@@ -202,6 +202,9 @@ namespace OpenRCT2::Scripting
|
|||||||
DukValue direction_get() const;
|
DukValue direction_get() const;
|
||||||
void direction_set(uint8_t value);
|
void direction_set(uint8_t value);
|
||||||
|
|
||||||
|
DukValue owner_get() const;
|
||||||
|
void owner_set(uint8_t value);
|
||||||
|
|
||||||
void Invalidate();
|
void Invalidate();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user