20#include <vrfmodel/joystickControllerInterface.h>
42 public DtJoystickControllerInterface
55 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
77 virtual bool init()
override;
84 virtual void tick()
override;
91 virtual const char*
type()
const override;
103 static DtSimComponent*
creator(
const DtString& name, DtLocalObject* owner, DtSimulationServices* simManager,
104 DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
116 const DtString& functionGroup,
const DtString& function,
double value,
bool repeat)
override;
153 virtual void sendAmmoUpdate(
const std::string& weapon,
const DtEntityType& munition,
int count);
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
DtVreSimComponent(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Definition vreSimComponent.h:54
virtual bool init() override
Initializes the controller.
virtual void initWeaponConfigs()
Initializes weapon configurations from entity's weapon systems.
virtual DtVreMessageResult handleWeaponConfigSelectWeapon(DtVreMessage *msg)
Handles weapon selection messages.
virtual void calcAndSetPortValues(const DtString &functionGroup, const DtString &function, double value, bool repeat) override
Processes joystick input for weapon cycling.
virtual bool selectNextWeapon()
Finds the next weapon system category to select.
virtual void addWeaponConfig(DtComponentSystem *system, const std::string &postfix)
Adds a weapon configuration for a specific weapon system.
virtual bool selectWeapon(const DtString &selection)
virtual void updateAmmo()
virtual void sendWeaponConfig()
Sends a weapon configuration response message.
bool myWasPlayerControlled
Flag tracking player control state.
Definition weaponsStatusController.h:234
DtRwPropertyString & getCurrentWeapon()
virtual void joystickConnected() override
Handles joystick connection events.
virtual void processSetRestore(DtSimMessage *msg)
Reinitializes state properties during entity restoration.
virtual void preFirstTickInit() override
Initializes the controller before the first tick.
DtRwPropertiesMap & getWeaponsStatusMap()
std::vector< WeaponConfigResponseMessage::WeaponConfig > myWeaponConfigCache
Definition weaponsStatusController.h:250
bool myHasWeaponSystems
Flag indicating if entity has weapon systems.
Definition weaponsStatusController.h:241
DtWeaponsStatusController()
Default constructor (not implemented)
virtual void replenishFuelAndAmmo()
Replenishes fuel and ammunition resources.
virtual ~DtWeaponsStatusController() override
Virtual destructor.
static void setRestoreCallback(DtSimMessage *msg, void *usrData)
Static callback function for set restore messages.
virtual void joystickDisconnected() override
Handles joystick disconnection events.
DtWeaponsStatusController(const DtWeaponsStatusController &orig)
Copy constructor (not implemented)
std::map< DtEntityType, unsigned int > myAmmoCache
Definition weaponsStatusController.h:251
DtWeaponsStatusController(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Constructor.
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Factory method to create a new instance of this component.
virtual void updateRangeItems()
Updates range information for the selected weapon system.
virtual void sendAmmoUpdate(const std::string &weapon, const DtEntityType &munition, int count)
const DtWeaponsStatusController & operator=(const DtWeaponsStatusController &orig)
Assignment operator (not implemented)
virtual const char * type() const override
Gets the type identifier for this component.
virtual DtVreMessageResult handleWeaponConfigRequestMessage(DtVreMessage *msg)
Handles weapon configuration request messages.
virtual int munitionResourceCount(const DtEntityType &munitionName) const
Gets the count of a specific munition resource.
virtual void tick() override
Updates the controller state each simulation frame.
std::vector< std::string > myWeaponCycleOrder
Ordered list of weapon categories for cycling.
Definition weaponsStatusController.h:248
Defines export macros for the vreVrfmodel library.
#define VREVRFMODEL_DLL
Definition export.h:22
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
const char * DtWeaponStatusControllerType
Type identifier for the weapon status controller component.
Definition weaponsStatusController.h:26
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Base template class for VR-Engage simulation components.