#include "pch.h"
#include "AGCHullType.h"
TC_OBJECT_EXTERN_NON_CREATEABLE_IMPL(CAGCHullType)
STDMETHODIMP CAGCHullType::InterfaceSupportsErrorInfo(REFIID riid)
{
static const IID* arr[] =
{
&IID_IAGCHullType
};
for (int i=0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
if (InlineIsEqualGUID(*arr[i],riid))
return S_OK;
}
return S_FALSE;
}
STDMETHODIMP CAGCHullType::get_Length(float* pfLength)
{
assert(GetIGC());
CLEAROUT(pfLength, GetIGC()->GetLength());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxSpeed(float* pfMaxSpeed)
{
assert(GetIGC());
CLEAROUT(pfMaxSpeed, GetIGC()->GetMaxSpeed());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxTurnRate(AGCAxis eAxis, float* pfMaxTurnRate)
{
assert(GetIGC());
CLEAROUT(pfMaxTurnRate, GetIGC()->GetMaxTurnRate(eAxis));
return S_OK;
}
STDMETHODIMP CAGCHullType::get_TurnTorque(AGCAxis eAxis, float* pfTurnTorque)
{
assert(GetIGC());
CLEAROUT(pfTurnTorque, GetIGC()->GetTurnTorque(eAxis));
return S_OK;
}
STDMETHODIMP CAGCHullType::get_Thrust(float* pfThrust)
{
assert(GetIGC());
CLEAROUT(pfThrust, GetIGC()->GetThrust());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_SideMultiplier(float* pfSideMultiplier)
{
assert(GetIGC());
CLEAROUT(pfSideMultiplier, GetIGC()->GetSideMultiplier());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_BackMultiplier(float* pfBackMultiplier)
{
assert(GetIGC());
CLEAROUT(pfBackMultiplier, GetIGC()->GetBackMultiplier());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_ScannerRange(float* pfScannerRange)
{
assert(GetIGC());
CLEAROUT(pfScannerRange, GetIGC()->GetScannerRange());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxEnergy(float* pfMaxEnergy)
{
assert(GetIGC());
CLEAROUT(pfMaxEnergy, GetIGC()->GetMaxEnergy());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_RechargeRate(float* pfRechargeRate)
{
assert(GetIGC());
CLEAROUT(pfRechargeRate, GetIGC()->GetRechargeRate());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_HitPoints(AGCHitPoints* pHitPoints)
{
assert(GetIGC());
CLEAROUT(pHitPoints, (AGCHitPoints)GetIGC()->GetHitPoints());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_PartMask(AGCEquipmentType et, AGCMount mountID,
AGCPartMask* pPartMask)
{
assert(GetIGC());
CLEAROUT(pPartMask, (AGCPartMask)GetIGC()->GetPartMask(et, mountID));
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxWeapons(AGCMount* pMaxWeapons)
{
assert(GetIGC());
CLEAROUT(pMaxWeapons, (AGCMount)GetIGC()->GetMaxWeapons());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxFixedWeapons(AGCMount* pMaxFixedWeapons)
{
assert(GetIGC());
CLEAROUT(pMaxFixedWeapons, (AGCMount)GetIGC()->GetMaxFixedWeapons());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_Mass(float* pfMass)
{
assert(GetIGC());
CLEAROUT(pfMass, GetIGC()->GetMass());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_Signature(float* pfSignature)
{
assert(GetIGC());
CLEAROUT(pfSignature, GetIGC()->GetSignature());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_Capabilities(AGCHullAbilityBitMask* phabmCapabilities)
{
assert(GetIGC());
CLEAROUT(phabmCapabilities, GetIGC()->GetCapabilities());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_HasCapability(AGCHullAbilityBitMask habm,
VARIANT_BOOL* pbHasCapability)
{
assert(GetIGC());
CLEAROUT(pbHasCapability, VARBOOL(GetIGC()->HasCapability(habm)));
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxAmmo(short* pnMaxAmmo)
{
assert(GetIGC());
CLEAROUT(pnMaxAmmo, GetIGC()->GetMaxAmmo());
return S_OK;
}
STDMETHODIMP CAGCHullType::get_MaxFuel(float* pfMaxFuel)
{
assert(GetIGC());
CLEAROUT(pfMaxFuel, GetIGC()->GetMaxFuel());
return S_OK;
}