TurretShapeData
Engine/source/T3D/turret/turretShape.h
Public Types
_Anonymous_ { NumMirrorDirectionNodes = 4 }
FireLinkType { FireTogether GroupedFire IndividualFire NumFireLinkTypeBits = 2 }
Recoil { LightRecoil MediumRecoil HeavyRecoil NumRecoilSequences }
Private Types
Parent
Public Attributes
Vertical offset.
Code controlled node for heading changes.
headingNodes [NumMirrorDirectionNodes]
Additional nodes that mirror the movements of the heading node.
Degrees per second rotation. 0 means not allowed. Less than 0 means instantaneous.
Optional sequence played when the turret's heading changes.
Max degrees to rotate from center. 180 or more indicates full rotation.
pitchNodes [NumMirrorDirectionNodes]
Additional nodes that mirror the movements of the pitch node.
Optional sequence played when the turret pitches.
recoilSequence [NumRecoilSequences]
bool
Should the turret's mounted weapon(s) start in a loaded state?
How are the weapons linked together and triggered.
weaponMountNode [ShapeBase::MaxMountedImages]
Where ShapeBaseImageData weapons are mounted.
bool
Should the turret allow only z rotations (like an item)?
Public Functions
DECLARE_CALLBACK(void , onMountObject , (SceneObject *turret, SceneObject *obj, S32 node) )
DECLARE_CALLBACK(void , onStickyCollision , (TurretShape *obj) )
DECLARE_CALLBACK(void , onUnmountObject , (SceneObject *turret, SceneObject *obj) )
bool
unpackData(BitStream * stream)
Public Static Functions
Detailed Description
Public Types
@201
Enumerator
- NumMirrorDirectionNodes = 4
FireLinkType
Enumerator
- FireTogether
All weapons fire under trigger 0.
- GroupedFire
Weapon mounts 0,2 fire under trigger 0, mounts 1,3 fire under trigger 1.
- IndividualFire
Each weapon mount fires under its own trigger 0-3.
- NumFireLinkTypeBits = 2
Recoil
Enumerator
- LightRecoil
- MediumRecoil
- HeavyRecoil
- NumRecoilSequences
Private Types
typedef ItemData Parent
Public Attributes
F32 cameraOffset
Vertical offset.
S32 headingNode
Code controlled node for heading changes.
S32 headingNodes [NumMirrorDirectionNodes]
Additional nodes that mirror the movements of the heading node.
F32 headingRate
Degrees per second rotation. 0 means not allowed. Less than 0 means instantaneous.
S32 headingSequence
Optional sequence played when the turret's heading changes.
F32 maxHeading
Max degrees to rotate from center. 180 or more indicates full rotation.
F32 maxPitch
Max degrees to rotate up from straight ahead.
F32 minPitch
Min degrees to rotate down from straight ahead.
S32 pitchNode
Code controlled node for pitch changes.
S32 pitchNodes [NumMirrorDirectionNodes]
Additional nodes that mirror the movements of the pitch node.
F32 pitchRate
Degrees per second rotation. 0 means not allowed. Less than 0 means instantaneous.
S32 pitchSequence
Optional sequence played when the turret pitches.
S32 recoilSequence [NumRecoilSequences]
bool startLoaded
Should the turret's mounted weapon(s) start in a loaded state?
FireLinkType weaponLinkType
How are the weapons linked together and triggered.
S32 weaponMountNode [ShapeBase::MaxMountedImages]
Where ShapeBaseImageData weapons are mounted.
bool zRotOnly
Should the turret allow only z rotations (like an item)?
Public Functions
TurretShapeData()
DECLARE_CALLBACK(void , onMountObject , (SceneObject *turret, SceneObject *obj, S32 node) )
DECLARE_CALLBACK(void , onStickyCollision , (TurretShape *obj) )
DECLARE_CALLBACK(void , onUnmountObject , (SceneObject *turret, SceneObject *obj) )
DECLARE_CONOBJECT(TurretShapeData )
packData(BitStream * stream)
Reimplemented from: ItemData
Reimplemented by: AITurretShapeData
preload(bool server, String & errorStr)
Reimplemented from: ShapeBaseData
Reimplemented by: AITurretShapeData
unpackData(BitStream * stream)
Reimplemented from: ItemData
Reimplemented by: AITurretShapeData