/* ** Copyright (C) 1996, 1997 Microsoft Corporation. All Rights Reserved. ** ** File: developmentIGC.h ** ** Author: ** ** Description: ** Header for the CdevelopmentIGC class. This file was initially created by ** the ATL wizard. ** ** History: */ // developmentIGC.h : Declaration of the CdevelopmentIGC #ifndef __DEVELOPMENTIGC_H_ #define __DEVELOPMENTIGC_H_ ///////////////////////////////////////////////////////////////////////////// // CdevelopmentIGC class CdevelopmentIGC : public IdevelopmentIGC { public: CdevelopmentIGC(void) { } ~CdevelopmentIGC(void) { } public: // IbaseIGC virtual HRESULT Initialize(ImissionIGC* pMission, Time now, const void* data, int dataSize); virtual void Terminate(void); virtual int Export(void* data) const; virtual ObjectType GetObjectType(void) const { return OT_development; } virtual ObjectID GetObjectID(void) const { return m_data.developmentID; } // ItypeIGC virtual const void* GetData(void) const { return &m_data; } // IbuyableIGC virtual const char* GetModelName(void) const { return m_data.modelName; } virtual const char* GetIconName(void) const { return m_data.iconName; } virtual const char* GetName(void) const { return m_data.name; } virtual const char* GetDescription(void) const { return m_data.description; } virtual Money GetPrice(void) const { return m_data.price; } virtual BuyableGroupID GetGroupID(void) const { return m_data.groupID; }; virtual const TechTreeBitMask& GetRequiredTechs(void) const { return m_data.ttbmRequired; } virtual const TechTreeBitMask& GetEffectTechs(void) const { return m_data.ttbmEffects; } virtual DWORD GetTimeToBuild(void) const { return m_data.timeToBuild; } // IdevelopmentIGC virtual const GlobalAttributeSet& GetGlobalAttributeSet(void) const { return m_data.gas; } virtual bool GetTechOnly(void) const { return m_techOnly; } virtual bool IsObsolete(const TechTreeBitMask& ttbm) const { return m_techOnly && (m_data.ttbmEffects <= ttbm); } virtual SoundID GetCompletionSound() const { return m_data.completionSound; } private: ImissionIGC* m_pMission; DataDevelopmentIGC m_data; bool m_techOnly; }; #endif //__DEVELOPMENTIGC_H_