VR-Forces 5.0.1 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>
25 #include <vrfobjcore/simObject.h>
27 
31 
34 {
35 
36 protected:
37 
39 
40 public:
41 
42  DtVrfWeaponPSR(DtLocalObject* vrfObject,
43  const DtString& rwName = DtString::nullString(),
44  DtReaderWriterRegistry* parentRegistry = 0);
45 
46  DtVrfWeaponPSR(const DtVrfWeaponPSR& orig,
47  const DtString& rwName = DtString::nullString(),
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
50  const DtVrfWeaponPSR& operator=(
51  const DtVrfWeaponPSR& orig);
52 
53  virtual ~DtVrfWeaponPSR();
54 
56  const DtString& rwName = DtString::nullString(),
57  DtReaderWriterRegistry* parentRegistry = 0) const;
58 
60  virtual DtString type() const;
61 
65  virtual void setUserTargetOverride(bool userTargetOverride);
66  virtual bool userTargetOverride() const;
67 
70  virtual void setCurrentTarget(const DtUUID&,
71  bool targetOverride = false);
72 
74  virtual DtSimObjectReference currentTarget() const;
75 
77  virtual const DtVrfMunitionLoader& munitionLoader() const;
78  virtual DtVrfMunitionLoader& munitionLoader();
79 
81  virtual void setCurrentMunitionName(const DtString& currentMunitionName);
83  virtual const DtString& currentMunitionName() const;
84 
86  virtual bool targetAcquired() const;
87  virtual void setTargetAcquired(bool targetAcquired);
88 
90  virtual bool weaponAimed() const;
91  virtual void setWeaponAimed(bool aimed);
92 
94  static DtVrfProcessStateRepository* creator(const DtString& name,
95  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
96 
99  virtual void addActiveMissile(const DtUUID&);
100  virtual void removeActiveMissile(const DtUUID&);
101  virtual const DtRwSimObjectReferenceList& activeMissiles() const;
102  virtual DtSimObjectReference lastMissileFired() const;
103  virtual bool stillTargeting(const DtUUID&) const;
105 
106 protected:
108  virtual void missileRemoved(const DtUUID&);
109 
110 protected:
111 
116 
121  };
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
DtRwSimObjectReferenceList myActiveMissiles
Definition: vrfWeaponPSR.h:119
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:115
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Description: Readable, Writable DtString Variable substitutions are done on this object when it is re...
Definition: rwString.h:20
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
File: weaponPSR.h.
Definition: vrfWeaponPSR.h:33
DtVrfMunitionLoader myMunitionLoader
Definition: vrfWeaponPSR.h:117
DtRwBoolean myWeaponAimed
Definition: vrfWeaponPSR.h:118
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: simObjectReference.h:74
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtRwSimObjectReference myCurrentTarget
Definition: vrfWeaponPSR.h:113
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
DtRwNLengthUUIDVector myMissileFireOrder
Definition: vrfWeaponPSR.h:120
Class DtVrfMunitionLoader:
Definition: vrfMunitionLoader.h:22
DtRwBoolean myTargetAcquired
Definition: vrfWeaponPSR.h:112
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
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtRwString myCurrentMunitionName
Definition: vrfWeaponPSR.h:115
DtRwBoolean myUserTargetOverride
Definition: vrfWeaponPSR.h:114
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)