#include "T2Archive.h" #include "T2FloorInfo.h" #include "T2People.h" #include "T2PeopleLinkIterator.h" #include "T2StairModule.h" #include "T2Tenant.h" #include "T2TowerDoc.h" T2StairModule::T2StairModule() { SetRectEmpty(&mModuleRect); } /*virtual*/ T2StairModule::~T2StairModule() { } void T2StairModule::MoverIDChanged(unsigned int moverID) { if (mLink1) { T2PeopleLinkIterator iterator((T2People *) mLink1); T2People *people; while (iterator.Next(&people)) { if (people) people->mCurrEquipID = moverID; } } } /*virtual*/ void T2StairModule::RemoveContents(T2TowerDoc* towerDoc) { T2FloorInfo *floorInfo = towerDoc->towerDoc_vf12C(); while (mLink1) { T2People *people = (T2People *) mLink1; Leave(people); POINT pt = mModuleRect.TopLeft(); if (mDirection != kStairDirection1) pt.y = mModuleRect.bottom - 1; T2Tenant *floor = floorInfo->GetFloor(pt.y, pt.x); if (floor) floor->Enter(people); } } /*virtual*/ void T2StairModule::LoadSelf(T2Archive& archive, T2TowerDoc* towerDoc) { T2MoverModule::LoadSelf(archive, towerDoc); if (IsUsed()) archive.ReadSRect(mModuleRect); } /*virtual*/ void T2StairModule::SaveSelf(T2Archive& archive) { T2MoverModule::SaveSelf(archive); if (IsUsed()) archive.WriteSRect(mModuleRect); }