Ares
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes

NewSWType Class Reference

#include <src/Misc/SWTypes.h>

Inheritance diagram for NewSWType:
SW_ChronoSphere SW_ChronoWarp SW_Firewall SW_GenericWarhead SW_GeneticMutator SW_LightningStorm SW_NuclearMissile SW_ParaDrop SW_Protect SW_PsychicDominator SW_Reveal SW_SonarPulse SW_SpyPlane SW_UnitDelivery

List of all members.

Public Member Functions

 NewSWType ()
virtual ~NewSWType ()
virtual bool CanFireAt (SWTypeExt::ExtData *pSWType, CellStruct *pCoords)
virtual bool AbortFire (SuperClass *pSW, bool IsPlayer)
virtual bool Launch (SuperClass *pSW, CellStruct *pCoords, byte IsPlayer)=0
virtual void Initialize (SWTypeExt::ExtData *pData, SuperWeaponTypeClass *pSW)
virtual void LoadFromINI (SWTypeExt::ExtData *pData, SuperWeaponTypeClass *pSW, CCINIClass *pINI)
virtual const char * GetTypeString ()
virtual const int GetTypeIndex ()
virtual bool HandlesType (int type)
virtual SuperWeaponFlags::Value Flags ()

Static Public Member Functions

static void Init ()
static NewSWTypeGetNthItem (int i)
static int FindIndex (const char *Type)
static int FindHandler (int Type)

Static Public Attributes

static DynamicVectorClass
< NewSWType * > 
Array

Protected Member Functions

void Register ()

Protected Attributes

int TypeIndex
bool Registered

Constructor & Destructor Documentation

NewSWType::NewSWType ( ) [inline]
                        { Registered = 0; Register(); };
virtual NewSWType::~NewSWType ( ) [inline, virtual]
                        { };

Member Function Documentation

virtual bool NewSWType::AbortFire ( SuperClass *  pSW,
bool  IsPlayer 
) [inline, virtual]

Reimplemented in SW_PsychicDominator, and SW_LightningStorm.

                        { return false; }
virtual bool NewSWType::CanFireAt ( SWTypeExt::ExtData pSWType,
CellStruct *  pCoords 
) [inline, virtual]
                        { return pSWType->CanFireAt(pCoords); }
static int NewSWType::FindHandler ( int  Type) [inline, static]
                                         {
                for(int i=0; i<Array.Count; ++i) {
                        NewSWType *swt = Array.GetItem(i);
                        if(swt->HandlesType(Type)) {
                                return FIRST_SW_TYPE + i;
                        }
                }
                return -1;
        }
static int NewSWType::FindIndex ( const char *  Type) [inline, static]
                                               {
                for(int i = 0; i < Array.Count; ++i) {
                        if(Array.GetItem(i)->GetTypeString()) {
                                if(!strcmp(Array.GetItem(i)->GetTypeString(), Type)) {
                                        return FIRST_SW_TYPE + i;
                                }
                        }
                }
                return -1;
        }
virtual SuperWeaponFlags::Value NewSWType::Flags ( ) [inline, virtual]
static NewSWType* NewSWType::GetNthItem ( int  i) [inline, static]
                { return Array.GetItem(i - FIRST_SW_TYPE); }
virtual const int NewSWType::GetTypeIndex ( ) [inline, virtual]
                        { return TypeIndex; }
virtual const char* NewSWType::GetTypeString ( ) [inline, virtual]
virtual bool NewSWType::HandlesType ( int  type) [inline, virtual]
void NewSWType::Init ( ) [static]
virtual void NewSWType::Initialize ( SWTypeExt::ExtData pData,
SuperWeaponTypeClass *  pSW 
) [inline, virtual]
virtual bool NewSWType::Launch ( SuperClass *  pSW,
CellStruct *  pCoords,
byte  IsPlayer 
) [pure virtual]
virtual void NewSWType::LoadFromINI ( SWTypeExt::ExtData pData,
SuperWeaponTypeClass *  pSW,
CCINIClass *  pINI 
) [inline, virtual]
void NewSWType::Register ( ) [inline, protected]
                        { Array.AddItem(this); this->TypeIndex = Array.Count; }

Member Data Documentation

DynamicVectorClass< NewSWType * > NewSWType::Array [static]
bool NewSWType::Registered [protected]
int NewSWType::TypeIndex [protected]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines