Ares
Public Member Functions | Public Attributes

RulesExt::ExtData Class Reference

#include <src/Ext/Rules/Body.h>

Inheritance diagram for RulesExt::ExtData:
Extension< TT >

List of all members.

Public Member Functions

 ExtData (const DWORD Canary, TT *const OwnerObject)
virtual ~ExtData ()
virtual size_t Size () const
virtual void LoadFromINIFile (TT *pThis, CCINIClass *pINI)
virtual void LoadBeforeTypeData (TT *pThis, CCINIClass *pINI)
virtual void LoadAfterTypeData (TT *pThis, CCINIClass *pINI)
virtual void InitializeConstants (TT *pThis)
virtual void InvalidatePointer (void *ptr)

Public Attributes

Valueable< AnimTypeClass * > ElectricDeath
double EngineerDamage
bool EngineerAlwaysCaptureTech
Valueable< MouseCursor > EngineerDamageCursor
bool MultiEngineer [3]
Valueable< bool > CanMakeStuffUp

Constructor & Destructor Documentation

RulesExt::ExtData::ExtData ( const DWORD  Canary,
TT *const  OwnerObject 
) [inline]
                                                                   : Extension<TT>(Canary, OwnerObject),
                        ElectricDeath(NULL),
                        EngineerDamage (0.0F),
                        EngineerAlwaysCaptureTech (true),
                        EngineerDamageCursor (MouseCursor::First[MouseCursorType::Detonate]),
                        CanMakeStuffUp(false)
                        {
                                MultiEngineer[0] = false; // Skirmish
                                MultiEngineer[1] = false; // LAN
                                MultiEngineer[2] = false; // WOnline
                        };
virtual RulesExt::ExtData::~ExtData ( ) [inline, virtual]
                                   {
                }

Member Function Documentation

void RulesExt::ExtData::InitializeConstants ( TT pThis) [virtual]
virtual void RulesExt::ExtData::InvalidatePointer ( void *  ptr) [inline, virtual]

Implements Extension< TT >.

                                                          {
                }
void RulesExt::ExtData::LoadAfterTypeData ( TT pThis,
CCINIClass *  pINI 
) [virtual]
                                                                           {
        RulesExt::ExtData *pData = RulesExt::Global();

        if (!pData) {
                return;
        }

        INI_EX exINI(pINI);

        pData->ElectricDeath.Parse(&exINI, "AudioVisual", "InfantryElectrocuted");

        for (int i = 0; i < WeaponTypeClass::Array->Count; ++i) {
                WeaponTypeClass::Array->GetItem(i)->LoadFromINI(pINI);
        }

        pData->EngineerDamage = pINI->ReadDouble("General", "EngineerDamage", pData->EngineerDamage);
        pData->EngineerAlwaysCaptureTech = pINI->ReadBool("General", "EngineerAlwaysCaptureTech", pData->EngineerAlwaysCaptureTech);
        pData->EngineerDamageCursor.Read(&exINI, "General", "EngineerDamageCursor");
}
void RulesExt::ExtData::LoadBeforeTypeData ( TT pThis,
CCINIClass *  pINI 
) [virtual]
                                                                            {
        const char section[] = "WeaponTypes";

        int len = pINI->GetKeyCount(section);
        for (int i = 0; i < len; ++i) {
                const char *key = pINI->GetKeyName(section, i);
                if (pINI->ReadString(section, key, "", Ares::readBuffer, Ares::readLength)) {
                        WeaponTypeClass::FindOrAllocate(Ares::readBuffer);
                }
        }

        RulesExt::ExtData *pData = RulesExt::Global();

        if (!pData) {
                return;
        }

        INI_EX exINI(pINI);

        pData->CanMakeStuffUp.Read(&exINI, "General", "CanMakeStuffUp");
}
void RulesExt::ExtData::LoadFromINIFile ( TT pThis,
CCINIClass *  pINI 
) [virtual]
                                                                         {
        // earliest loader - can't really do much because nothing else is initialized yet, so lookups won't work
}
virtual size_t RulesExt::ExtData::Size ( ) const [inline, virtual]

Implements Extension< TT >.

{ return sizeof(*this); };

Member Data Documentation


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