#include "StdAfx.h" #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 *theFloorInfo = towerDoc->GetFloorInfo(); while (mLink1) { T2People *thePeople = (T2People *) mLink1; Leave(thePeople); POINT theNextPt = mModuleRect.TopLeft(); if (mDirection != kStairDirection1) theNextPt.y = mModuleRect.bottom - 1; T2Tenant *theFloor = theFloorInfo->GetFloor(theNextPt.y, theNextPt.x); if (theFloor) theFloor->Enter(thePeople); } } /*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); }