#ifndef __AGCHullType_h__ #define __AGCHullType_h__ ///////////////////////////////////////////////////////////////////////////// // AGCHullType.h : Declaration of the CAGCHullType // #include "resource.h" #include "IAGCBuyableImpl.h" ///////////////////////////////////////////////////////////////////////////// // CAGCHullType // class ATL_NO_VTABLE CAGCHullType : public IAGCBuyableImpl, public ISupportErrorInfo, public CComCoClass { // Declarations public: DECLARE_REGISTRY_RESOURCEID(IDR_AGCHullType) DECLARE_PROTECT_FINAL_CONSTRUCT() // Interface Map public: BEGIN_COM_MAP(CAGCHullType) COM_INTERFACE_ENTRY(IAGCHullType) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRIES_IAGCBuyableImpl() COM_INTERFACE_ENTRY(ISupportErrorInfo) END_COM_MAP() // Category Map public: BEGIN_CATEGORY_MAP(CAGCHullType) IMPLEMENTED_CATEGORY(CATID_AGC) END_CATEGORY_MAP() // ISupportsErrorInfo Interface Methods public: STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); // IAGCHullType Interface Methods public: STDMETHODIMP get_Length(float* pfLength); STDMETHODIMP get_MaxSpeed(float* pfMaxSpeed); STDMETHODIMP get_MaxTurnRate(AGCAxis eAxis, float* pfMaxTurnRate); STDMETHODIMP get_TurnTorque(AGCAxis eAxis, float* pfTurnTorque); STDMETHODIMP get_Thrust(float* pfThrust); STDMETHODIMP get_SideMultiplier(float* pfSideMultiplier); STDMETHODIMP get_BackMultiplier(float* pfBackMultiplier); STDMETHODIMP get_ScannerRange(float* pfScannerRange); STDMETHODIMP get_MaxEnergy(float* pfMaxEnergy); STDMETHODIMP get_RechargeRate(float* pfRechargeRate); STDMETHODIMP get_HitPoints(AGCHitPoints* pHitPoints); STDMETHODIMP get_PartMask(AGCEquipmentType et, AGCMount mountID, AGCPartMask* pPartMask); STDMETHODIMP get_MaxWeapons(AGCMount* pMaxWeapons); STDMETHODIMP get_MaxFixedWeapons(AGCMount* pMaxFixedWeapons); // STDMETHODIMP get_CanMount(IAGCPartType* pPartType, AGCMount mountID, // VARIANT_BOOL* pbCanMount); STDMETHODIMP get_Mass(float* pfMass); STDMETHODIMP get_Signature(float* pfSignature); STDMETHODIMP get_Capabilities(AGCHullAbilityBitMask* phabmCapabilities); STDMETHODIMP get_HasCapability(AGCHullAbilityBitMask habm, VARIANT_BOOL* pbHasCapability); STDMETHODIMP get_MaxAmmo(short* pnMaxAmmo); STDMETHODIMP get_MaxFuel(float* pfMaxFuel); }; ///////////////////////////////////////////////////////////////////////////// #endif //__AGCHullType_h__