1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00

map objects hierarchy now uses IGameInfoCallback

This commit is contained in:
Ivan Savenko
2025-05-14 15:50:13 +03:00
parent 6f20235d07
commit 4d4da0454f
111 changed files with 485 additions and 507 deletions

View File

@@ -366,16 +366,8 @@ void GameStatePackVisitor::visitRemoveObject(RemoveObject & pack)
gs.getPlayerState(pack.initiator)->destroyedObjects.insert(pack.objectID);
if(obj->getOwner().isValidPlayer())
{
gs.getPlayerState(obj->getOwner())->removeOwnedObject(obj); //object removed via map event or hero got beaten
FlaggableMapObject* flaggableObject = dynamic_cast<FlaggableMapObject*>(obj);
if(flaggableObject)
{
flaggableObject->markAsDeleted();
}
}
if(obj->ID == Obj::HERO) //remove beaten hero
{
auto beatenHero = dynamic_cast<CGHeroInstance*>(obj);
@@ -1080,8 +1072,6 @@ void GameStatePackVisitor::visitSetObjectProperty(SetObjectProperty & pack)
return;
}
auto * cai = dynamic_cast<CArmedInstance *>(obj);
if(pack.what == ObjProperty::OWNER && obj->asOwnable())
{
PlayerColor oldOwner = obj->getOwner();