/* ** Copyright (C) 1996, 1997 Microsoft Corporation. All Rights Reserved. ** ** File: packIGC.h ** ** Author: ** ** Description: ** Header for the CpackIGC class. This file was initially created by ** the ATL wizard. ** ** History: */ // packIGC.h : Declaration of the CpackIGC #ifndef __PACKIGC_H_ #define __PACKIGC_H_ ///////////////////////////////////////////////////////////////////////////// // CpackIGC class CpackIGC : public IpackIGC { public: CpackIGC(void); ~CpackIGC(void); // IbaseIGC virtual HRESULT Initialize(ImissionIGC* pMission, Time now, const void* data, int dataSize); virtual void Terminate(void); virtual ObjectType GetObjectType(void) const { return OT_pack; } virtual ImissionIGC* GetMission(void) const { return m_pMission; } // IpartIGC virtual EquipmentType GetEquipmentType(void) const { return ET_Pack; } virtual IpartTypeIGC* GetPartType(void) const { return m_partType; } virtual IshipIGC* GetShip(void) const { return m_pship; } virtual void SetShip(IshipIGC* newVal, Mount mount); virtual Mount GetMountID(void) const { return m_mountID; } virtual void SetMountID(Mount newVal); virtual bool fActive(void) const { return false; } virtual void Activate(void) { } virtual void Deactivate(void) { } virtual float GetMass(void) const { return 0.0f; } virtual Money GetPrice(void) const { return 0; } virtual float GetMountedFraction(void) const { return 1.0f; } virtual void SetMountedFraction(float f) { } virtual void Arm(void) { } // IpackIGC virtual PackType GetPackType(void) const { return m_typeData->packType; } virtual void SetAmount(short a) { if (m_pship) { const IhullTypeIGC* pht = m_pship->GetHullType(); short maxAmount; if (m_typeData->packType == c_packAmmo) { maxAmount = pht->GetMaxAmmo(); } else { assert (m_typeData->packType == c_packFuel); maxAmount = short(pht->GetMaxFuel()); } if (a > maxAmount) a = maxAmount; } m_amount = a; } virtual short GetAmount(void) const { return m_amount; } private: ImissionIGC* m_pMission; const DataPackTypeIGC* m_typeData; IpartTypeIGC* m_partType; IshipIGC* m_pship; short m_amount; Mount m_mountID; }; #endif //__PACKIGC_H_