VR-Forces 4.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfmodel
balGunCtlr.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2012 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
11
12
#pragma once
13
14
#include "
vrfobjcore/cntrlCmpnt.h
"
15
#include "
vrfutil/vlClock.h
"
16
#include <vl/hostStructs.h>
17
#include "
vrfutil/simMunition.h
"
18
#include <vlpi/disEnums.h>
19
20
class
DtBooleanOutputPort
;
21
class
DtIntegerOutputPort
;
22
class
DtIntegerInputPort
;
23
class
DtBallisticGunControllerDescriptor
;
24
class
DtVrfBalGunPSR
;
25
class
DtOutputPortGroup
;
26
class
DtBooleanInputPort
;
27
class
DtWeaponComponentInterface
;
28
class
DtEntityListOutputPort
;
29
43
#include "
vrfmodel/vrfmodelDefines.h
"
44
class
DT_DLL_vrfmodel
DtBallisticGunController
:
public
DtControllerComponent
45
{
46
47
public
:
48
51
DtBallisticGunController
(
const
DtString
& name,
52
DtVrfObject
* owner,
53
DtSimManager
* simManager,
54
DtComponentDescriptor
* desc = 0,
55
DtReaderWriterRegistry
* parentRegistry = 0);
56
58
virtual
~
DtBallisticGunController
();
59
63
virtual
bool
postAddComponentsInit
();
64
67
virtual
DtString
type
()
const
;
68
70
virtual
bool
init
();
71
75
virtual
void
preFirstTickInit
();
76
78
virtual
void
tick
();
79
82
virtual
bool
createTriggerPort();
83
virtual
DtBooleanOutputPort
* triggerPort()
const
;
84
85
virtual
bool
createQuantityOutputPort();
86
virtual
DtIntegerOutputPort
* quantityOutputPort()
const
;
87
88
virtual
bool
createLoadedPort();
89
virtual
DtBooleanOutputPort
* loadedPort()
const
;
90
91
virtual
bool
createLosOutputPort();
92
virtual
DtIntegerOutputPort
* losOutputPort()
const
;
93
94
virtual
bool
createLosInputPort();
95
virtual
DtIntegerInputPort
* losInputPort()
const
;
96
97
virtual
bool
createWeaponsHoldInputPort();
98
99
virtual
bool
createTargetToAcquireOutputPort();
100
101
virtual
void
setLoadAmmoTime(DtTime loadAmmoTime);
102
virtual
DtTime loadAmmoTime()
const
;
103
104
virtual
void
setUnloadAmmoTime(DtTime unloadAmmoTime);
105
virtual
DtTime unloadAmmoTime()
const
;
106
110
virtual
void
fire();
111
119
virtual
bool
chooseAmmo(
const
DtEntityType& targetType,
120
const
DtString
& targetName,
DtSimMunition
&
121
munition, DtDetonatorFuze& fuze,
int
& ammoAvailable);
122
124
virtual
void
initProcessSR();
125
129
static
DtSimComponent
* creator(
const
DtString
& name,
130
DtVrfObject
* owner,
131
DtSimManager
* simManager,
132
DtComponentDescriptor
* desc = 0,
133
DtReaderWriterRegistry
* parentRegistry = 0);
134
135
protected
:
136
138
virtual
bool
createPorts
();
139
141
virtual
bool
createPortGroups
();
142
150
virtual
void
lookupAndCacheProcessSR();
151
154
virtual
bool
weaponsHoldState();
155
156
157
protected
:
159
DtBallisticGunController
();
160
162
DtBallisticGunController
(
const
DtBallisticGunController
& orig);
163
165
const
DtBallisticGunController
&
operator=
(
const
DtBallisticGunController
&
166
orig);
167
168
protected
:
169
172
179
DtIntegerInputPort
*
myLosInputPort
;
180
186
DtBooleanOutputPort
*
myTriggerPort
;
187
194
DtIntegerOutputPort
*
myQuantityOutputPort
;
195
201
DtBooleanOutputPort
*
myLoadedPort
;
202
209
DtIntegerOutputPort
*
myLosOutputPort
;
210
213
DtOutputPortGroup
*
myGunControlPortGroup
;
214
221
DtBooleanInputPort
*
myWeaponsHoldInputPort
;
222
223
227
DtEntityListOutputPort
*
myTargetToAcquireOutputPort
;
229
232
DtEntityIdentifier
myPreviousTarget
;
233
235
DtSimMunition
myCurrentMunition
;
236
DtDetonatorFuze
myCurrentFuze
;
237
239
int
myRoundsAvailable
;
240
246
DtVrfBalGunPSR
*
myProcessState
;
247
249
const
DtBallisticGunControllerDescriptor
*
myGunDescriptor
;
250
254
bool
myWaitingForFire
;
255
257
bool
myOutOfAmmoWarn
;
258
261
DtWeaponComponentInterface
*
myWeaponComponentInterface
;
262
};
Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (
www.mak.com
)