VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
weaponController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
12 
13 #pragma once
14 
16 #include <vl/hostStructs.h>
17 #include "vrfutil/simMunition.h"
19 #include "vrfobjcore/boolIOPort.h"
20 
21 class DtObjectIdPort;
22 
25 class DtSimMessage;
28 
57 {
58 
59 public:
60 
63  DtWeaponController(const DtString& name,
64  DtVrfObject* owner,
65  DtSimManager* simManager,
66  DtComponentDescriptor* desc = 0,
67  DtReaderWriterRegistry* parentRegistry = 0);
68 
70  virtual ~DtWeaponController();
71 
74  virtual const char* type() const;
75 
77  virtual bool createMountingController();
78 
79  virtual bool init();
80 
87  virtual void tick();
88 
90  virtual void fire();
91 
100  virtual DtVrfObject* chooseTarget();
101 
110  virtual DtVrfObject * chooseTarget(const DtEntityTargetList& targetList) const;
111 
116  virtual void tickMunitionLoader(const DtVrfObject* target);
117 
138  virtual bool acquireTarget(const DtVrfObject* target);
139 
143  virtual void maneuverRequiredToAcquireTarget(DtReal requiredHeading,
144  DtReal requiredPitch,
145  DtReal requiredMaxSpeed);
146 
151  virtual bool loadedAmmoValidForTarget(const DtVrfObject* target) const;
152 
169  virtual bool chooseAmmo(const DtEntityType& entityType,
170  DtSimMunition& munitionOut, DtDetonatorFuze& fuzeOut,
171  bool setCurrentMunition = true);
172 
187  virtual bool acceptSensorTargettingInput();
188 
192  virtual bool inSector(DtVrfObject * entity) const;
193 
196  virtual void findBodyHeadingElevationToTarget(const DtVrfObject *entity,
197  DtReal &bodyHeadingOut,
198  DtReal &bodyElevationOut) const;
199 
203  virtual DtVrfObject * easier(DtVrfObject * entity1, DtVrfObject
204  * entity2) const;
205 
209  static DtSimComponent * creator(const DtString& name,
210  DtVrfObject* owner,
211  DtSimManager* simManager,
212  DtComponentDescriptor* desc = 0,
213  DtReaderWriterRegistry* parentRegistry = 0);
214 
215 protected:
216 
218  virtual bool createPorts();
219 
221  virtual void addRangeItems();
222 
223 protected:
224 
227 
230 
233  orig);
234 
235 
236 protected:
237 
239 
242 
249 
257 
259 
260 
263 
265 
266 };

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)