/* ** Copyright (C) 1996, 1997 Microsoft Corporation. All Rights Reserved. ** ** File: civilizationIGC.cpp ** ** Author: ** ** Description: ** Implementation of the CcivilizationIGC class. This file was initially created by ** the ATL wizard for the core object. ** ** History: */ // civilizationIGC.cpp : Implementation of CcivilizationIGC #include "pch.h" #include "civilizationIGC.h" ///////////////////////////////////////////////////////////////////////////// // CcivilizationIGC 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); }