VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
baseWeaponComponentInterface.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vrfutil/rwString.h"
13 #include "vrfutil/rwBoolean.h"
14 #include "vrfutil/rwReal.h"
15 #include "vrfutil/rwInt.h"
16 #include "vrfutil/rwVector.h"
17 #include "vlpi/disEnums.h"
18 
20 #include <list>
21 #include <set>
22 
23 
29 {
30 public:
35  {
36  DT_OK_TO_FIRE = 0,
37  DT_WEAPON_DISABLED = 1,
38  DT_NO_AMMUNITION_FOR_TARGET = 2,
39  DT_CANNOT_ACQUIRE_TARGET = 4,
40  DT_SUPPRESSED = 8
41  };
42 
43 private:
46 
47 public:
48 
49  //constructor
51  const DtString& rwName = DtString::nullString(),
52  DtReaderWriterRegistry* parentRegistry = 0);
53 
54  //copy constructor
56  const DtString& rwName = DtString::nullString(),
57  DtReaderWriterRegistry* parentRegistry = 0);
58 
59  //assignment operator
61  const DtBaseWeaponComponentInterface& orig);
62 
63  //destructor
65 
66  //returns a copy of the PSR
68  const DtString& rwName = DtString::nullString(),
69  DtReaderWriterRegistry* parentRegistry = 0) const = 0;
70 
73  virtual void updateRegionEvaluator() = 0;
74 
79  virtual bool locationWithinRegion(const DtVector& localLocation) const = 0;
80 
82  virtual void setRoundsFiredUponTarget(const int& roundsFired);
83  virtual const int roundsFiredUponTarget() const;
84 
86  virtual void setTotalRoundsToFireUponTarget(const int& totalRoundsToFire);
87  virtual const int totalRoundsToFireUponTarget() const;
88 
90 
91  virtual void setIsExplicitlyTasked(const bool& explicitlyTasked);
92  virtual const bool isExplicitlyTasked() const;
94 
96 
97  virtual void setAllowExplicitTasking(const bool& includeInDialogs);
98  virtual const bool allowExplicitTasking() const;
100 
102 
103  virtual void setDisplayName(const DtString& displayName);
104  virtual const DtString displayName() const;
106 
108 
109  virtual void setWeaponStatus(const int weaponStatus);
110  virtual const int weaponStatus() const;
111 
113  virtual DtString weaponStatusString() const;
114 
118  virtual void addWeaponStatus(const DtWeaponStatus weaponStatus);
119 
124  virtual void removeWeaponStatus(const DtWeaponStatus weaponStatus);
126 
128 
129  virtual void setIsInFiringCycle(const bool);
130  virtual bool isInFiringCycle()const;
132 
134 
135  virtual void setResourceList(const std::list<DtString>& list);
136  virtual const std::list<DtString>& resourceList() const;
137  virtual std::list<DtString>& resourceList();
139 
145  virtual void setPriority(const int priority);
146  virtual int priority() const;
148 
159  virtual void createMountPartList(const DtArtPartType partType);
161  virtual const std::list<DtArtPartType>& mountPartList() const;
163 
166  virtual void setSystemTurretNumber(const DtArtPartType num);
167  virtual DtArtPartType systemTurretNumber()const;
169 
174  virtual std::set<DtString>& requiredTokens();
175  virtual void setRequiredTokens(const std::set<DtString>& tokens);
177 
180  virtual void setTreatSelectedAsTasked(bool t);
181  bool treatSelectedAsTasked()const;
183 
186  virtual void setControlExternalTurret(bool c);
187  virtual bool controlExternalTurret()const;
189 
190 protected:
193 
196 
201 
205 
207 
210 
213 
216 
222  std::list<DtString> myResources;
223 
229 
239  std::list<DtArtPartType> myMountPartList;
240 
243  DtArtPartType mySystemTurretNumber;
244 
250 
256  std::set<DtString> myRequiredTokens;
257 
265 };

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)