#ifndef __DRONETYPEIGC_H_
#define __DRONETYPEIGC_H_
class CdroneTypeIGC : public IdroneTypeIGC
{
public:
CdroneTypeIGC(void)
{
}
~CdroneTypeIGC(void)
{
}
public:
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_droneType;
}
virtual ObjectID GetObjectID(void) const
{
return m_data.droneTypeID;
}
virtual const void* GetData(void) const
{
return &m_data;
}
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;
}
virtual HullID GetHullTypeID(void) const
{
return m_data.hullTypeID;
}
virtual PilotType GetPilotType(void) const
{
return m_data.pilotType;
}
virtual float GetShootSkill(void) const
{
return m_data.shootSkill;
}
virtual float GetMoveSkill(void) const
{
return m_data.moveSkill;
}
virtual float GetBravery(void) const
{
return m_data.bravery;
}
virtual IexpendableTypeIGC* GetLaidExpendable(void) const
{
return m_petLaid;
}
private:
ImissionIGC* m_pMission;
DataDroneTypeIGC m_data;
TRef<IexpendableTypeIGC> m_petLaid;
};
#endif