VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
indirectFireController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
15 
17 #include <vlpi/disEnums.h>
18 #include <matrix/vlVector.h>
19 
20 class DtString;
21 class DtSimManager;
22 class DtTaskMessage;
23 class DtSimMessage;
24 
28 
29 
36 {
37 
38 public:
39 
40  typedef std::list<DtIndirectWeaponComponentInterface*> DtIndirectWeaponInterfaceList;
41 
45  DtVrfObject* owner,
46  DtSimManager* simManager,
47  DtComponentDescriptor* desc = 0,
48  DtReaderWriterRegistry* parentRegistry = 0);
49 
51  virtual ~DtIndirectFireController();
52 
54  virtual bool init();
55 
58  virtual const char* type() const;
59 
61  virtual bool postAddComponentsInit();
62 
67  virtual void tick();
68 
71  virtual void clearTask();
72 
75  virtual bool isWeaponFireFinished(DtIndirectWeaponComponentInterface* weapIf);
76 
77  virtual void findWeaponControlInterfaces();
78 
80  virtual void setCurrentTargetLocation(const DtVector& location);
82  virtual const DtVector& currentTargetLocation();
83 
89  virtual void registerTaskMsgCallbacks();
90 
92  static void FFEOnTargetCallback(DtSimMessage * msg, void * usr);
94  static void FFEOnEntityCallback(DtSimMessage * msg, void * usr);
96  static void FFEOnLocationCallback(DtSimMessage * msg, void * usr);
98  static void userTaskCallback(DtSimMessage * msg, void * usr);
99 
106  virtual bool processFFEOnTargetTask(DtSimMessage * msg);
107  virtual bool processFFEOnLocationTask(DtSimMessage * msg);
108  virtual bool processFFEOnEntityTask(DtSimMessage * msg);
114  virtual void processUserTask(DtSimMessage * msg);
117  virtual void processFFETask(DtTaskMessage * tm);
118 
121 
122  static void weaponListRequestCallback(const DtVrfObjectMessage* msg, void* usr);
123  virtual void processWeaponListRequest(const DtVrfObjectMessage* msg);
125 
126  virtual void taskComplete(bool success = true);
127 
131  static DtSimComponent * creator(const DtString& name,
132  DtVrfObject* owner,
133  DtSimManager* simManager,
134  DtComponentDescriptor* desc = 0,
135  DtReaderWriterRegistry* parentRegistry = 0);
136 
137 protected:
141  void makeDisplayNamesUnique();
142 
148  virtual bool createPSR();
149 
150  virtual void clearTaskState(DtIndirectWeaponComponentInterface* weapIf);
151 
154 
157 
160  orig);
161 
162 protected:
167 
171 
177 };
178 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)