News SF.net Project Frequently Asked Questions Documentation Downloads Mailing Lists How to Contribute

SourceForge.net Logo

Changing the way games are made and played.

Zap::Turret class Reference

Zap::Turret Class Reference

#include <engineeredObjects.h>

Inheritance diagram for Zap::Turret:

Zap::EngineeredObject Zap::GameObject TNL::NetObject TNL::Object

Public Types

enum  {
  TurretAimOffset = 15,
  TurretRange = 600,
  TurretPerceptionDistance = 800,
  TurretProjectileVelocity = 600,
  TurretTurnRate = 4,
  TurretFireDelay = 150,
  AimMask = EngineeredObject::NextFreeMask
}

Public Member Functions

 Turret (S32 team=-1, Point anchorPoint=Point(), Point anchorNormal=Point(1, 0))
bool getCollisionPoly (Vector< Point > &polyPoints)
void render ()
void idle (IdleCallPath path)
void onAddedToGame (Game *theGame)
U32 packUpdate (GhostConnection *connection, U32 updateMask, BitStream *stream)
 Write the object's state to a packet.

void unpackUpdate (GhostConnection *connection, BitStream *stream)
 Unpack data written by packUpdate().

 TNL_DECLARE_CLASS (Turret)

Private Types

typedef EngineeredObject Parent

Private Attributes

Timer mFireTimer
F32 mCurrentAngle

Member Typedef Documentation

typedef EngineeredObject Zap::Turret::Parent [private]
 

Reimplemented from Zap::EngineeredObject.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
TurretAimOffset 
TurretRange 
TurretPerceptionDistance 
TurretProjectileVelocity 
TurretTurnRate 
TurretFireDelay 
AimMask 


Constructor & Destructor Documentation

Zap::Turret::Turret S32  team = -1,
Point  anchorPoint = Point(),
Point  anchorNormal = Point(1, 0)
 


Member Function Documentation

bool Zap::Turret::getCollisionPoly Vector< Point > &  polyPoints  )  [virtual]
 

Reimplemented from Zap::GameObject.

void Zap::Turret::render  )  [virtual]
 

Reimplemented from Zap::GameObject.

void Zap::Turret::idle IdleCallPath  path  )  [virtual]
 

Reimplemented from Zap::GameObject.

void Zap::Turret::onAddedToGame Game theGame  )  [virtual]
 

Reimplemented from Zap::GameObject.

U32 Zap::Turret::packUpdate GhostConnection connection,
U32  updateMask,
BitStream *  stream
[virtual]
 

Write the object's state to a packet.

packUpdate is called on an object when it is to be written into a packet stream for transmission to the client. The updateMask parameter contains the out-of-date state mask for the object. The initial update mask for any object to a client will always be 0xFFFFFFFF, signifying that all states are out of date. It is often useful to check for this mask, to write one-time initialization information for that object.

Reimplemented from Zap::EngineeredObject.

void Zap::Turret::unpackUpdate GhostConnection connection,
BitStream *  stream
[virtual]
 

Unpack data written by packUpdate().

unpackUpdate is called on the client to read an update out of a packet's bit stream. Because the update mask is not encoded by the network system directly, each unpack update function will have to determine from the bit stream which states are being updated.

Reimplemented from Zap::EngineeredObject.

Zap::Turret::TNL_DECLARE_CLASS Turret   ) 
 


Field Documentation

Timer Zap::Turret::mFireTimer [private]
 

F32 Zap::Turret::mCurrentAngle [private]