/* ** Copyright (C) 1996, 1997 Microsoft Corporation. All Rights Reserved. ** ** File: missileTypeIGC.h ** ** Author: ** ** Description: ** Header for the CmissileTypeIGC class. This file was initially created by ** the ATL wizard. ** ** History: */ // missileTypeIGC.h : Declaration of the CmissileTypeIGC #ifndef __MISSILETYPEIGC_H_ #define __MISSILETYPEIGC_H_ ///////////////////////////////////////////////////////////////////////////// // CmissileTypeIGC class CmissileTypeIGC : public ImissileTypeIGC { public: CmissileTypeIGC(void) { } // IbaseIGC virtual HRESULT Initialize(ImissionIGC* pMission, Time now, const void* data, int dataSize); virtual void Terminate(void) { m_pMission->DeleteExpendableType(this); } virtual void Update(Time now) { } virtual int Export(void* data) const; virtual ObjectType GetObjectType(void) const { return OT_missileType; } virtual ObjectID GetObjectID(void) const { return m_data.expendabletypeID; } // ItypeIGC virtual const void* GetData(void) const { return &m_data; } // IexpendableTypeIGC virtual const LauncherDef* GetLauncherDef(void) const { return &(m_data.launcherDef); } virtual EquipmentType GetEquipmentType(void) const { return ET_Magazine; } virtual float GetLoadTime(void) const { return m_data.loadTime; } virtual float GetMass(void) const { return m_data.launcherDef.mass; } virtual float GetLifespan(void) const { return m_data.lifespan; } virtual float GetSignature(void) const { return m_data.signature; } virtual HitPoints GetHitPoints(void) const { return m_data.hitPoints; } virtual DefenseTypeID GetDefenseType(void) const { return m_data.defenseType; } virtual char const* GetName(void) const { return m_data.launcherDef.name; } virtual char const* GetModelName(void) const { return m_data.modelName; } virtual char const* GetModelTexture(void) const { return m_data.textureName; } virtual float GetRadius(void) const { return m_data.radius; } virtual ExpendableAbilityBitMask GetCapabilities(void) const { return m_data.eabmCapabilities; } virtual bool HasCapability(ExpendableAbilityBitMask eabm) const { return (m_data.eabmCapabilities & eabm) != 0; } // ImissileTypeIGC virtual float GetAcceleration(void) const { return m_data.acceleration; } virtual float GetTurnRate(void) const { return m_data.turnRate; } virtual float GetInitialSpeed(void) const { return m_data.initialSpeed; } //virtual float GetArmTime(void) const //{ //return m_data.armTime; //} virtual float GetMaxLock(void) const { return m_data.maxLock; } virtual float GetChaffResistance(void) const { return m_data.chaffResistance; } virtual float GetLockTime(void) const { return m_data.lockTime; } virtual float GetReadyTime(void) const { return m_data.readyTime; } virtual float GetDispersion(void) const { return m_data.dispersion; } virtual float GetLockAngle(void) const { return m_data.lockAngle; } virtual float GetPower(void) const { return m_data.power; } virtual float GetBlastPower(void) const { return m_data.blastPower; } virtual float GetBlastRadius(void) const { return m_data.blastRadius; } virtual DamageTypeID GetDamageType(void) const { return m_data.damageType; } virtual SoundID GetLaunchSound(void) const { return m_data.launchSound; } virtual SoundID GetAmbientSound(void) const { return m_data.ambientSound; } private: ImissionIGC* m_pMission; DataMissileTypeIGC m_data; }; #endif //__MISSILETYPEIGC_H_