OpenRCT2/src/openrct2/scripting/bindings/entity/ScVehicle.hpp

99 lines
2.7 KiB
C++

/*****************************************************************************
* Copyright (c) 2014-2021 OpenRCT2 developers
*
* For a complete list of all authors, please refer to contributors.md
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
*
* OpenRCT2 is licensed under the GNU General Public License version 3.
*****************************************************************************/
#pragma once
#ifdef ENABLE_SCRIPTING
# include "../../../ride/Ride.h"
# include "ScEntity.hpp"
# include <optional>
namespace OpenRCT2::Scripting
{
class ScVehicle : public ScEntity
{
public:
ScVehicle(EntityId id);
static void Register(duk_context* ctx);
private:
Vehicle* GetVehicle() const;
ObjectEntryIndex rideObject_get() const;
void rideObject_set(ObjectEntryIndex value);
uint8_t vehicleObject_get() const;
void vehicleObject_set(uint8_t value);
uint8_t spriteType_get() const;
void spriteType_set(uint8_t value);
int32_t ride_get() const;
void ride_set(int32_t value);
uint8_t numSeats_get() const;
void numSeats_set(uint8_t value);
DukValue nextCarOnTrain_get() const;
void nextCarOnTrain_set(DukValue value);
DukValue previousCarOnRide_get() const;
void previousCarOnRide_set(DukValue value);
DukValue nextCarOnRide_get() const;
void nextCarOnRide_set(DukValue value);
StationIndex::UnderlyingType currentStation_get() const;
void currentStation_set(StationIndex::UnderlyingType value);
uint16_t mass_get() const;
void mass_set(uint16_t value);
int32_t acceleration_get() const;
void acceleration_set(int32_t value);
int32_t velocity_get() const;
void velocity_set(int32_t value);
uint8_t bankRotation_get() const;
void bankRotation_set(uint8_t value);
DukValue colours_get() const;
void colours_set(const DukValue& value);
DukValue trackLocation_get() const;
void trackLocation_set(const DukValue& value);
uint16_t trackProgress_get() const;
int32_t remainingDistance_get() const;
uint8_t poweredAcceleration_get() const;
void poweredAcceleration_set(uint8_t value);
uint8_t poweredMaxSpeed_get() const;
void poweredMaxSpeed_set(uint8_t value);
std::string status_get() const;
void status_set(const std::string& value);
std::vector<DukValue> guests_get() const;
DukValue gForces_get() const;
void travelBy(int32_t value);
};
} // namespace OpenRCT2::Scripting
#endif