#include "pch.h"
#include "partTypeIGC.h"
HRESULT CpartTypeIGC::Initialize(ImissionIGC* pMission,
Time now,
const void* data,
int dataSize)
{
assert (pMission);
m_pMission = pMission;
ZRetailAssert (data && (dataSize >= sizeof(DataPartTypeIGC)));
{
m_dataSize = dataSize;
m_data = (DataPartTypeIGC*)(new char [m_dataSize]);
assert (m_data);
memcpy(m_data, data, m_dataSize);
if (m_data->successorPartID != NA)
{
m_pptSuccessor = pMission->GetPartType(m_data->successorPartID);
assert (m_pptSuccessor);
}
pMission->AddPartType(this);
}
return S_OK;
}
void CpartTypeIGC::Terminate(void)
{
m_pMission->DeletePartType(this);
}
int CpartTypeIGC::Export(void* data) const
{
if (data)
memcpy(data, m_data, m_dataSize);
return m_dataSize;
}
const char* IpartTypeIGC::GetEquipmentTypeName(EquipmentType et)
{
switch (et)
{
case ET_ChaffLauncher:
return "chaff";
case ET_Weapon:
return "weapon";
case ET_Magazine:
return "missile";
case ET_Dispenser:
return "mine";
case ET_Shield:
return "shield";
case ET_Cloak:
return "cloak";
case ET_Pack:
return "ammo";
case ET_Afterburner:
return "afterburner";
default:
assert(false);
return "";
}
}