本文整理汇总了C++中EventData::overrideMatter方法的典型用法代码示例。如果您正苦于以下问题:C++ EventData::overrideMatter方法的具体用法?C++ EventData::overrideMatter怎么用?C++ EventData::overrideMatter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventData
的用法示例。
在下文中一共展示了EventData::overrideMatter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: notifyChangedMap
/*---------------------------------------------------------------------*//**
マップ変更後通知
**//*---------------------------------------------------------------------*/
void StoryManager::notifyChangedMap(bool isDeserializeCase)
{
Map* map = Game::getGame()->getMap(); ASSERT(map != 0L);
MoveMap* mvmap = Game::getGame()->getMoveMap(); ASSERT(mvmap != 0L);
// マップに脇役を配置
for(ListIterator<PlacementObj*> it = _listPlaceObj->iterator(); it.has(); it.next())
{
PlacementObj* pobj = it.object();
if(isDeserializeCase) // セーブデータ読み込み時
{
if(pobj->isPlaced()) // 配置済み
{
map->placePlacementObj(pobj, true); // マップ配置を復元
}
else if(pobj->isNewPlacedCondition())
{
map->placePlacementObj(pobj, false); // マップに通常条件配置
}
}
else
{
if(pobj->isNewPlacedCondition())
{
map->placePlacementObj(pobj, false); // マップに配置
}
else if(pobj->isPlaced()) // 配置済み
{
map->unplacePlacementObj(pobj); // 配置解除
}
}
}
// マップ置換イベントを処理
EventData* evdat = _evsysRef->getEventData();
for(ListIterator<OverrideEventMatter*> it = _listOvrdEvm->iterator(); it.has(); it.next())
{
const OverrideEventMatter* oem = it.object();
if(oem->getKind() == OverrideEventMatter::KIND_MAP) // タイプがマップのもののみ
{
if(oem->isCondition())
{
evdat->overrideMatter(oem);
}
}
}
// マップモジュールを作成
_mapmod = MapModFactory::makeMapMod(mvmap->getCurMapId()); ASSERT(_mapmod != 0L);
// マップ開始時イベントを起動
beginAutoBeginEvent(AutoBeginEventInfo::KIND_MAP_START);
// 各通知処理
ASSERT(_stmod != 0L);
_stmod->onDecisionParty(mvmap->getCurMapId(), mvmap->getPrevMapId());
_stmod->notifyChangedMap(mvmap->getCurMapId(), mvmap->getPrevMapId());
_mapmod->begin();
_wmap->notifyChangedMap();
}