mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-15 00:05:02 +02:00
vcmi: remove a bunch of duplicated showInfoDialog
These methods duplicated in almost every map object Just replace it by one such method
This commit is contained in:
@ -875,28 +875,28 @@ void ApplyClientNetPackVisitor::visitOpenWindow(OpenWindow & pack)
|
||||
{
|
||||
switch(pack.window)
|
||||
{
|
||||
case OpenWindow::RECRUITMENT_FIRST:
|
||||
case OpenWindow::RECRUITMENT_ALL:
|
||||
case EOpenWindowMode::RECRUITMENT_FIRST:
|
||||
case EOpenWindowMode::RECRUITMENT_ALL:
|
||||
{
|
||||
const CGDwelling *dw = dynamic_cast<const CGDwelling*>(cl.getObj(ObjectInstanceID(pack.id1)));
|
||||
const CArmedInstance *dst = dynamic_cast<const CArmedInstance*>(cl.getObj(ObjectInstanceID(pack.id2)));
|
||||
callInterfaceIfPresent(cl, dst->tempOwner, &IGameEventsReceiver::showRecruitmentDialog, dw, dst, pack.window == OpenWindow::RECRUITMENT_FIRST ? 0 : -1);
|
||||
callInterfaceIfPresent(cl, dst->tempOwner, &IGameEventsReceiver::showRecruitmentDialog, dw, dst, pack.window == EOpenWindowMode::RECRUITMENT_FIRST ? 0 : -1);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::SHIPYARD_WINDOW:
|
||||
case EOpenWindowMode::SHIPYARD_WINDOW:
|
||||
{
|
||||
const IShipyard *sy = IShipyard::castFrom(cl.getObj(ObjectInstanceID(pack.id1)));
|
||||
callInterfaceIfPresent(cl, sy->o->tempOwner, &IGameEventsReceiver::showShipyardDialog, sy);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::THIEVES_GUILD:
|
||||
case EOpenWindowMode::THIEVES_GUILD:
|
||||
{
|
||||
//displays Thieves' Guild window (when hero enters Den of Thieves)
|
||||
const CGObjectInstance *obj = cl.getObj(ObjectInstanceID(pack.id2));
|
||||
callInterfaceIfPresent(cl, PlayerColor(pack.id1), &IGameEventsReceiver::showThievesGuildWindow, obj);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::UNIVERSITY_WINDOW:
|
||||
case EOpenWindowMode::UNIVERSITY_WINDOW:
|
||||
{
|
||||
//displays University window (when hero enters University on adventure map)
|
||||
const IMarket *market = IMarket::castFrom(cl.getObj(ObjectInstanceID(pack.id1)));
|
||||
@ -904,7 +904,7 @@ void ApplyClientNetPackVisitor::visitOpenWindow(OpenWindow & pack)
|
||||
callInterfaceIfPresent(cl, hero->tempOwner, &IGameEventsReceiver::showUniversityWindow, market, hero);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::MARKET_WINDOW:
|
||||
case EOpenWindowMode::MARKET_WINDOW:
|
||||
{
|
||||
//displays Thieves' Guild window (when hero enters Den of Thieves)
|
||||
const CGObjectInstance *obj = cl.getObj(ObjectInstanceID(pack.id1));
|
||||
@ -913,7 +913,7 @@ void ApplyClientNetPackVisitor::visitOpenWindow(OpenWindow & pack)
|
||||
callInterfaceIfPresent(cl, cl.getTile(obj->visitablePos())->visitableObjects.back()->tempOwner, &IGameEventsReceiver::showMarketWindow, market, hero);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::HILL_FORT_WINDOW:
|
||||
case EOpenWindowMode::HILL_FORT_WINDOW:
|
||||
{
|
||||
//displays Hill fort window
|
||||
const CGObjectInstance *obj = cl.getObj(ObjectInstanceID(pack.id1));
|
||||
@ -921,12 +921,12 @@ void ApplyClientNetPackVisitor::visitOpenWindow(OpenWindow & pack)
|
||||
callInterfaceIfPresent(cl, cl.getTile(obj->visitablePos())->visitableObjects.back()->tempOwner, &IGameEventsReceiver::showHillFortWindow, obj, hero);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::PUZZLE_MAP:
|
||||
case EOpenWindowMode::PUZZLE_MAP:
|
||||
{
|
||||
callInterfaceIfPresent(cl, PlayerColor(pack.id1), &IGameEventsReceiver::showPuzzleMap);
|
||||
}
|
||||
break;
|
||||
case OpenWindow::TAVERN_WINDOW:
|
||||
case EOpenWindowMode::TAVERN_WINDOW:
|
||||
const CGObjectInstance *obj1 = cl.getObj(ObjectInstanceID(pack.id1)),
|
||||
*obj2 = cl.getObj(ObjectInstanceID(pack.id2));
|
||||
callInterfaceIfPresent(cl, obj1->tempOwner, &IGameEventsReceiver::showTavernWindow, obj2);
|
||||
|
Reference in New Issue
Block a user