当前位置: 首页>>代码示例>>C++>>正文


C++ EventData::getEventMatterNum方法代码示例

本文整理汇总了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;
}
开发者ID:Altoterras,项目名称:TheHeartOfSourcerer,代码行数:57,代码来源:StoryManager.cpp

示例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;
}
开发者ID:Altoterras,项目名称:TheHeartOfSourcerer,代码行数:52,代码来源:EventMovieFront.cpp


注:本文中的EventData::getEventMatterNum方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。