VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfWeaponPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 
15 #pragma once
16 
18 
19 #include <readerWriter/rwString.h>
20 #include <readerWriter/rwBoolean.h>
21 #include <readerWriter/rwReal.h>
23 #include <vrfutil/rwUUID.h>
24 #include <vrfutil/rwResource.h>
26 #include <vrfobjcore/simObject.h>
31 
33 {
34 
35 protected:
36 
38 
39 public:
40 
41  DtVrfWeaponPSR(DtLocalObject* vrfObject,
42  const DtString& rwName = DtString::nullString(),
43  DtReaderWriterRegistry* parentRegistry = nullptr);
44 
45  DtVrfWeaponPSR(const DtVrfWeaponPSR& orig,
46  const DtString& rwName = DtString::nullString(),
47  DtReaderWriterRegistry* parentRegistry = nullptr);
48 
49  const DtVrfWeaponPSR& operator=(
50  const DtVrfWeaponPSR& orig);
51 
52  virtual ~DtVrfWeaponPSR() override;
53 
55  const DtString& rwName = DtString::nullString(),
56  DtReaderWriterRegistry* parentRegistry = nullptr) const override;
57 
59  virtual DtString type() const override;
60 
64  virtual void setUserTargetOverride(bool userTargetOverride);
65  virtual bool userTargetOverride() const;
66 
69  virtual void setCurrentTarget(const DtUUID&,
70  bool targetOverride = false);
71 
73  virtual DtSimObjectReference currentTarget() const;
74 
78  virtual void setCurrentLocationTarget(const DtVector& locationTarget,
79  bool targetOverride = false);
80 
82  virtual DtVector currentLocationTarget() const;
83 
85  virtual const DtVrfMunitionLoader& munitionLoader() const;
86  virtual DtVrfMunitionLoader& munitionLoader();
87 
89  virtual void setCurrentMunitionType(const DtEntityType& currentMunitionName);
91  virtual const DtEntityType& currentMunitionType() const;
92 
94  virtual bool targetAcquired() const;
95  virtual void setTargetAcquired(bool targetAcquired);
96 
98  virtual bool weaponAimed() const;
99  virtual void setWeaponAimed(bool aimed);
100 
102  static DtVrfProcessStateRepository* creator(const DtString& name,
103  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
104 
107  virtual void addActiveMissile(const DtUUID&);
108  virtual void removeActiveMissile(const DtUUID&);
109  virtual const DtRwSimObjectReferenceList& activeMissiles() const;
110  virtual DtSimObjectReference lastMissileFired() const;
111  virtual bool stillTargeting(const DtUUID&) const;
113 
116  virtual void setRoundsFiredUponTarget(const int& roundsFired);
117  virtual const int roundsFiredUponTarget() const;
119 
121 
122  virtual void setIsExplicitlyTasked(const bool& explicitlyTasked);
123  virtual const bool isExplicitlyTasked() const;
125 
127 
128  virtual void setIsInFiringCycle(const bool);
129  virtual bool isInFiringCycle()const;
131 
133 
134  virtual void setWeaponStatus(const int weaponStatus);
135  virtual const int weaponStatus() const;
136 
140  virtual void addWeaponStatus(const DtBaseWeaponComponentInterface::DtWeaponStatus weaponStatus);
141 
146  virtual void removeWeaponStatus(const DtBaseWeaponComponentInterface::DtWeaponStatus weaponStatus);
148 
149  virtual void setWeaponStowed(bool v);
150  virtual bool weaponStowed() const;
151 
153 
154  virtual void setWorkingTargetPoint(const DtUUID& id);
155  virtual DtSimObjectReference workingTargetPoint() const;
157 
158 protected:
160  virtual void missileRemoved(const DtUUID&);
161 
162 protected:
163 
169 
174 
177 
181 
186 
191 
193 
195 
196  boost::signals2::connection myActiveMissilesListConnection;
197 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtRwSimObjectReferenceList myActiveMissiles
Definition: vrfWeaponPSR.h:172
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:120
DtRwInt myWeaponStatus
Current status of the weapon, is it able to fire or not. This value is a bit field composed of the va...
Definition: vrfWeaponPSR.h:190
DtRwSimObjectReference myWorkingTargetPoint
Definition: vrfWeaponPSR.h:194
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
File: weaponPSR.h.
Definition: vrfWeaponPSR.h:32
DtVrfMunitionLoader myMunitionLoader
Definition: vrfWeaponPSR.h:170
DtRwBoolean myWeaponAimed
Definition: vrfWeaponPSR.h:171
Definition: rwVector.h:23
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: rwSimObjectReference.h:21
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtRwSimObjectReference myCurrentTarget
Definition: vrfWeaponPSR.h:165
Description: Readable, Writable int.
Definition: rwInt.h:25
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwBoolean myIsInFiringCycle
Indicates that the weapon is in its firing cycle, which may mean is still firing a burst...
Definition: vrfWeaponPSR.h:185
DtRwNLengthUUIDVector myMissileFireOrder
Definition: vrfWeaponPSR.h:173
Class DtVrfMunitionLoader:
Definition: vrfMunitionLoader.h:22
DtWeaponStatus
The status items below are used as bit fields. To set a state, OR the enumerated value into the weapo...
Definition: baseWeaponComponentInterface.h:35
DtRwResource myCurrentMunitionType
Definition: vrfWeaponPSR.h:168
DtRwBoolean myTargetAcquired
Definition: vrfWeaponPSR.h:164
DtRwNLengthUUIDVector is a named, readable/writable vector of DtUUIDs. Can be used in place of a NLen...
Definition: rwNLengthUUIDVector.h:30
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
DtRwVector myCurrentLocationTarget
Definition: vrfWeaponPSR.h:166
DtRwBoolean myWeaponStowed
Definition: vrfWeaponPSR.h:192
virtual DtString type() const =0
Returns the string type of the repository, as defined in psrTypes.h.
DtRwBoolean myUserTargetOverride
Definition: vrfWeaponPSR.h:167
DtRwBoolean myIsExplicitlyTasked
Tracks whether the weapon system has been explicitly tasked as opposed to a target being automaticall...
Definition: vrfWeaponPSR.h:180
DtRwInt myRoundsFiredUponTarget
Tracks rounds fired upon current target.
Definition: vrfWeaponPSR.h:176
This class will read in an old resource by name and convert it to the type, or, just read it as type...
Definition: rwResource.h:12
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object.
Definition: localObject.h:98
boost::signals2::connection myActiveMissilesListConnection
Definition: vrfWeaponPSR.h:196

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)