// BfObject.cpp void BfObject::deleteObject(U32 deleteTimeInterval) // interval defaults to 0 { mObjectTypeNumber = DeletedTypeNumber; if(!mGame || deleteTimeInterval == 0) // Not in a game delete this; else { GridDatabase *database = getDatabase(); // Temporary fix for changing type number removeFromDatabase(false); // prevents GridDatabase having mSpyBugs from pointing to deleted memory mObjectTypeNumber = DeletedTypeNumber; if(database) addToDatabase(database); mGame->addToDeleteList(this, deleteTimeInterval); } }