本文整理汇总了C++中EventData::getEventMatterNum方法的典型用法代码示例。如果您正苦于以下问题:C++ EventData::getEventMatterNum方法的具体用法?C++ EventData::getEventMatterNum怎么用?C++ EventData::getEventMatterNum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventData
的用法示例。
在下文中一共展示了EventData::getEventMatterNum方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: serialize
/*---------------------------------------------------------------------*//**
シリアライズ
**//*---------------------------------------------------------------------*/
bool StoryManager::serialize(Serializer* ser) const
{
// 実行中の Act イベント ID を得る
u16 evidActing = 0;
EventData* evdat = Game::getGame()->getEventSys()->getEventData(); ASSERT(evdat != 0L);
for(int imat = 0; imat < evdat->getEventMatterNum(); imat++)
{
EventMatter* matterWk = evdat->getEventMatter(imat);
if((matterWk->getMatterType() == EMTYPE_ACT) && matterWk->isBegin()) // 開始済み ActMatter 判定
{
evidActing = matterWk->getEvId();
}
}
// ストーリーの保存
if(ser->isStructureMode()) // ストラクチャモード
{
SaveStructure* svst = (SaveStructure*)ser->getStructure();
svst->_gamesvst._storyid = _storyid; // ストーリー ID の書き込み
svst->_gamesvst._isPlayedStoryStartupEvent = _isPlayedStoryStartupEvent; // ストーリー開始イベント起動フラグの書き込み
svst->_gamesvst._evidActing = evidActing; // 実行中の Act イベント ID の書き込み
}
else // ダイレクトモード
{
ser->store(&_storyid); // ストーリー ID の書き込み
ser->store(&_isPlayedStoryStartupEvent); // ストーリー開始イベント起動フラグの書き込み
ser->store(&evidActing); // 実行中の Act イベント ID の書き込み
}
// 配置オブジェクトの状態を保存する
if(ser->isStructureMode()) // ストラクチャモード
{
SaveStructure* svst = (SaveStructure*)ser->getStructure();
if(!svst->storePlacementObjData(_listPlaceObj))
{
return false;
}
}
else // ダイレクトモード
{
s32 numPobj = _listPlaceObj->getCount();
ser->store(&numPobj);
for(ListIterator<PlacementObj*> it = _listPlaceObj->iterator(); it.has(); it.next())
{
const PlacementObj* pobj = it.object();
pobj->serialize(ser);
}
}
// ワールドマップのシリアライズ
_wmap->serialize(ser);
return true;
}
示例2: operationToEvent
/*---------------------------------------------------------------------*//**
ユーザー操作
**//*---------------------------------------------------------------------*/
bool EventMovieFront::operationToEvent(EventOp eop)
{
EventSys* evsys = Game::getGame()->getEventSys(); ASSERT(evsys != 0L);
if((eop == EOP_PAUSE) || (eop == EOP_PLAY))
{
evsys->setEventPause(eop == EOP_PAUSE);
return true;
}
bool is = false;
// 現在駆動している全ての Act に送信する
ActMatter* actm = 0L;
EventData* evdat = evsys->getEventData(); ASSERT(evdat != 0L);
for(s32 i = 0; i < evdat->getEventMatterNum(); i++)
{
EventMatter* matter = evdat->getEventMatter(i);
if(matter->getMatterType() == EMTYPE_ACT) // ActMatter 判定
{
if(((ActMatter*)matter)->isBegin()) // 実行中かどうか判定
{
actm = (ActMatter*)matter;
switch(eop)
{
case EOP_SKIP:
actm->skip(); // スキップを行う
is = true;
break;
case EOP_ENDWAIT:
if(actm->isWaitMovieMsg()) // ムービー台詞待ち中
{
actm->doneWaitMovieMsg(); // 台詞待ちを終了する
is = true;
}
break;
case EOP_CHECKSKIP:
if(actm->checkValidSkip())
{
is = true; // 一つでもスキップ可能なら可とする
}
break;
}
}
}
}
return is;
}