// --------------------------------------------------------------------------------- // Method: ResetWorld // Notes: This function is used by the LoadGame function to get rid of all // serializeable entities. // --------------------------------------------------------------------------------- void ResetWorld() { int i; int iNumOfAllEntities = VisBaseEntity_cl::ElementManagerGetSize(); // send CLEANUP messages to all the entities that are about to be freed, so // that they have a chance of cleaning up whatever is necessary before the // world is destroyed for (i = 0; i < iNumOfAllEntities; i++) { VisBaseEntity_cl *pEnt = VisBaseEntity_cl::ElementManagerGet(i); if ( pEnt ) { if ( pEnt->IsOfType(SerializeBaseEntity_cl::GetClassTypeId()) ) { Vision::Game.SendMsg(pEnt, MSG_SER_CLEANUP, 0, 0 ); } } } // now actually free all the serializeable entities for (i = 0; i < iNumOfAllEntities; i++) { VisBaseEntity_cl *pEnt = VisBaseEntity_cl::ElementManagerGet(i); if ( pEnt ) { if ( pEnt->IsOfType(SerializeBaseEntity_cl::GetClassTypeId()) ) { pEnt->DisposeObject(); } } } }
void IController::RemoveLast(void) { VisBaseEntity_cl *ent = entityStack->pop(); if (ent != NULL) { ent->DisposeObject(); } }