20#include <vrvCore/DtUniqueID.h>
22#include <matrix/vlVector.h>
23#include <vlpi/appearance.h>
26#include "matrix/vlVector.inl"
27#include "vlpi/entityIdentifier.h"
28#include "vlpi/entityIdentifier.inl"
96class DtChannelManager;
120 virtual void tick(
double dt)
override;
125 virtual const char*
type()
const override;
131 virtual void useDrone(
const DtEntityIdentifier&
id = DtEntityIdentifier::nullId(),
const std::string& marking =
"");
167 const std::string& functionGroup,
168 const std::string& function,
170 bool repeat =
false);
204 bool scopeExists(DtEntityIdentifier& ownshipId, std::string& channelName);
240 virtual void onSceneClicked(makVrv::DtUniqueID,
const DtVector& location,
double altAboveGround);
Event processor for entity creation and placement.
Definition createNewEntityEventProcessor.h:36
virtual makVre::DtVreMessageResult handleFireInteraction(makVre::DtVreMessage *msg)
virtual const char * type() const override
Returns the component type identifier.
virtual void toggleMissileLauncher()
virtual makVre::DtVreMessageResult handleResourceUpdate(makVre::DtVreMessage *msg)
virtual void toggleForwardControls()
double myTargetLockWeight
Definition deployableObjectsSimLogic.h:292
virtual bool operatingDrone()
std::string myMissileName
Definition deployableObjectsSimLogic.h:265
virtual makVre::DtVreMessageResult handleSimState(makVre::DtVreMessage *msg) override
Message handlers.
virtual bool postInitialize() override
Performs post-initialization setup.
float myMaxIGain
Definition deployableObjectsSimLogic.h:272
DtEntityIdentifier myRemoteViewEntityId
Definition deployableObjectsSimLogic.h:253
virtual void closeRemoteSensorView()
DtDeployableObjectsInputLogic * myInputLogic
Definition deployableObjectsSimLogic.h:295
DtEntityIdentifier myMissileToAttachTo
Definition deployableObjectsSimLogic.h:269
DtDeployableObjectsSimLogic()
virtual void processMissileRealized(const DtEntityIdentifier &munitionId)
virtual void checkForDroneBatteryWarning(float amount)
virtual void enableLauncher(LauncherType launcherType=SHOULDER_MOUNTED)
virtual std::string scopeChannelName() const
virtual void returnToHome()
virtual void fireMissile(const std::string &rangeId="")
DtCreateNewEntityEventProcessor * myEventProcessor
Definition deployableObjectsSimLogic.h:297
float myMaxFGain
Definition deployableObjectsSimLogic.h:274
virtual void setDroneDestroyed()
double myDroneStatusUpdateDisplayTime
Definition deployableObjectsSimLogic.h:287
std::map< int, bool > myDroneBatteryWarnings
Definition deployableObjectsSimLogic.h:284
ObserverAttachMode myCachedAttachMode
Definition deployableObjectsSimLogic.h:262
float myPGain
Definition deployableObjectsSimLogic.h:276
virtual void setDroneAutopilotMode(const std::string &mode)
virtual ~DtDeployableObjectsSimLogic() override
virtual void onDamageStateChanged(DtDamageState val)
virtual void useLauncher(const DtEntityIdentifier &id)
float myIGain
Definition deployableObjectsSimLogic.h:277
virtual void deployEmbeddedEntity(const std::string &embeddedEntityName)
virtual makVre::DtVreMessageResult handleExitPlayerState(makVre::DtVreMessage *msg)
virtual void processLauncherRemoved()
std::vector< ChannelViewport > myViewportConfigurations
Definition deployableObjectsSimLogic.h:257
std::map< enum SensorViews, std::string > mySensorModes
Definition deployableObjectsSimLogic.h:300
virtual DtEntityIdentifier launcherId()
virtual void stopUsingDrone()
DtVector myPreviousRemoteViewTarget
Definition deployableObjectsSimLogic.h:266
virtual void setForwardControls(bool val)
virtual void clearIndirectTarget()
bool myShowPidMenu
Definition deployableObjectsSimLogic.h:281
float myDGain
Definition deployableObjectsSimLogic.h:278
virtual makVre::DtVreMessageResult handleEntityRealized(makVre::DtVreMessage *msg)
virtual void updateOwnshipFromSimState(SimulationStateMessage *msg)
virtual void toggleRemoteViewViewport(double val)
SensorViews myLastSensorViewMode
Definition deployableObjectsSimLogic.h:299
virtual void firstStageTrigger(double val)
virtual void disableLauncher()
std::string myTargetName
Definition deployableObjectsSimLogic.h:264
virtual void recoverEmbeddedEntity(const std::string &embeddedEntityName)
virtual void setFocusOnEntity(bool val)
bool scopeExists(DtEntityIdentifier &ownshipId, std::string &channelName)
float myMaxDGain
Definition deployableObjectsSimLogic.h:273
virtual makVre::DtVreMessageResult handleEntityRemoved(makVre::DtVreMessage *msg)
bool myRemoteViewAttachToMunition
Definition deployableObjectsSimLogic.h:258
std::string myRemoteViewSensorMode
Definition deployableObjectsSimLogic.h:256
virtual bool initialize(DtPlayerStation *player, DtInitTable &config) override
Initializes the entity control logic.
bool myThirdPersonOnUseDrone
Definition deployableObjectsSimLogic.h:261
std::map< makVrv::DtElementID, double > myPotentialTargetsWeightMap
Definition deployableObjectsSimLogic.h:290
virtual void processMissileRemoved()
virtual void onSceneClicked(makVrv::DtUniqueID, const DtVector &location, double altAboveGround)
bool isAimingLauncher() const
virtual void sendJoystickCommand(const DtEntityIdentifier &id, const std::string &functionGroup, const std::string &function, double val, bool repeat=false)
virtual makVre::DtVreMessageResult handleEnterPlayerState(makVre::DtVreMessage *msg)
float myFGain
Definition deployableObjectsSimLogic.h:279
virtual void toggleFocusOnEntity()
virtual void shutdown() override
Shuts down the entity control logic.
virtual void updateSensor()
double myRemoteViewResetTime
Definition deployableObjectsSimLogic.h:259
virtual void toggleDroneChannelVisibility(bool visible)
void onForwardControlsChanged(bool)
float myMaxPGain
Definition deployableObjectsSimLogic.h:271
virtual void nextSensor(double val)
DtEntityIdentifier myMissileId
Definition deployableObjectsSimLogic.h:268
std::map< std::string, DeployableObject > DeployableObjectStateMap
Definition deployableObjectsSimLogic.h:193
virtual void setIndirectFireCoordinate(const std::string &coordinate)
double myRemoteViewZoomLevel
Definition deployableObjectsSimLogic.h:260
virtual void updateEmbeddedEntityFromSimState(SimulationStateMessage *msg)
virtual void tick(double dt) override
Updates the entity control logic each frame.
virtual DtEntityIdentifier missileId()
virtual void exitLauncher()
virtual void updateLauncherFocus(double dt)
bool myLookAtDroneOnUse
Definition deployableObjectsSimLogic.h:302
virtual void toggleDroneAutopilotMode()
virtual void openRemoteSensorView(const DtEntityIdentifier &viewEntity)
std::string myRemoteViewChannelName
Definition deployableObjectsSimLogic.h:255
double myTargetWeightFadeRate
Definition deployableObjectsSimLogic.h:293
virtual makVre::DtVreMessageResult handleMenuActionMessage(makVre::DtVreMessage *msg)
virtual void useDrone(const DtEntityIdentifier &id=DtEntityIdentifier::nullId(), const std::string &marking="")
virtual void toggleMissileAttackMode(double val)
virtual void setRemoteViewZoomLevel(double val)
double myTargetHoldWeight
Definition deployableObjectsSimLogic.h:291
DtEntityControlLogic()
Constructor.
Table-based access to Lua state for configuration data.
Definition initializer.h:38
virtual DtPlayerStation & player()
Gets the player station.
Class for managing the user interface for engaged roles.
Definition playerStation.h:51
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
Definition entityRealized.h:31
Definition simulationState.h:34
Defines the logic for controlling entities in VR-Engage.
constexpr const char * maxPGain
Definition deployableObjectsSimLogic.h:67
constexpr const char * lockTargetHoldTime
Definition deployableObjectsSimLogic.h:55
constexpr const char * timeOnTargetForLock
Definition deployableObjectsSimLogic.h:79
constexpr const char * droneOverlaySections
Definition deployableObjectsSimLogic.h:46
constexpr const char * roleHasDeployables
\vreRoleParam{roleHasDeployables,bool,true,deployableObjectsSimLogic,Whether this role has deployable...
Definition deployableObjectsSimLogic.h:82
constexpr const char * droneBatteryWarnings
Definition deployableObjectsSimLogic.h:43
constexpr const char * thirdPersonOnUseDrone
Definition deployableObjectsSimLogic.h:76
constexpr const char * droneSensorModes
Definition deployableObjectsSimLogic.h:49
constexpr const char * maxFGain
Definition deployableObjectsSimLogic.h:61
constexpr const char * targetLockFadeRate
Definition deployableObjectsSimLogic.h:73
constexpr const char * droneStatusUpdateDisplayTime
Definition deployableObjectsSimLogic.h:52
constexpr const char * lookAtDroneOnUse
Definition deployableObjectsSimLogic.h:85
constexpr const char * maxIGain
Definition deployableObjectsSimLogic.h:64
constexpr const char * maxDGain
Definition deployableObjectsSimLogic.h:58
constexpr const char * remoteViewer
Definition deployableObjectsSimLogic.h:70
Defines export/import macros for the vreCommonComponents library.
#define VRECOMMONCOMPONENTS_DLL
DLL export/import macro for the vreCommonComponents library.
Definition export.h:28
Definition deployableObjectsSimLogic.h:35
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
ObserverAttachMode
Enumeration of camera/observer attachment offsets.
Definition stateDefines.h:44
constexpr const char * DtDeployableObjectsSimLogicType
Type identifier for DtDeployableObjectsSimLogic component.
Definition deployableObjectsSimLogic.h:109
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
SensorViews
Enumeration of available sensor view modes.
Definition stateDefines.h:18
LauncherType
Enumeration of launcher equipment types.
Definition stateDefines.h:76
@ SHOULDER_MOUNTED
Launcher designed to be fired from the shoulder.
Definition stateDefines.h:78
Definition appLauncherComponent.h:28
Common enumeration definitions used throughout the VREngage system.
Definition deployableObjectsSimLogic.h:243
bool showDroneHUDElements
Definition deployableObjectsSimLogic.h:249
bool showHumanOverlay
Definition deployableObjectsSimLogic.h:250
int left
Definition deployableObjectsSimLogic.h:244
bool showDroneFrame
Definition deployableObjectsSimLogic.h:248
int right
Definition deployableObjectsSimLogic.h:245
int bottom
Definition deployableObjectsSimLogic.h:246
int top
Definition deployableObjectsSimLogic.h:247
Definition deployableObjectsSimLogic.h:181
bool myDestroyed
Definition deployableObjectsSimLogic.h:184
SimulationStateMessage::EmbeddedEntity myState
Definition deployableObjectsSimLogic.h:182
bool operator==(const DeployableObject &other) const
Definition deployableObjectsSimLogic.h:186
bool myInUse
Definition deployableObjectsSimLogic.h:183
Definition simulationState.h:49
Defines the base class for all VREngage messages.