#include "pch.h"
#include "civilizationIGC.h"
HRESULT CcivilizationIGC::Initialize(ImissionIGC* pMission,
Time now,
const void* data,
int dataSize)
{
assert (pMission);
m_pMission = pMission;
ZRetailAssert (data && (dataSize == sizeof(DataCivilizationIGC)));
m_data = *((DataCivilizationIGC*)data);
pMission->AddCivilization(this);
m_pstInitial = pMission->GetStationType(m_data.initialStationTypeID);
assert (m_pstInitial);
m_pstInitial->AddRef();
assert (m_pstInitial->HasCapability(c_sabmRestart));
m_phtLifepod = pMission->GetHullType(m_data.lifepod);
assert (m_phtLifepod);
m_phtLifepod->AddRef();
return S_OK;
}
void CcivilizationIGC::Terminate(void)
{
assert (m_pstInitial);
m_pstInitial->Release();
m_pstInitial = NULL;
assert (m_phtLifepod);
m_phtLifepod->Release();
m_phtLifepod = NULL;
m_pMission->DeleteCivilization(this);
}
int CcivilizationIGC::Export(void* data) const
{
if (data)
{
*((DataCivilizationIGC*)data) = m_data;
}
return sizeof(DataCivilizationIGC);
}