/*---------------------------------------------------------------------*//**
	終了
**//*---------------------------------------------------------------------*/
void ModelViewMode::notifyEnd(void* objParamRef)
{
	// クリアカラー設定を戻す
	Vector4F* colorClear = Game::getGame()->getTfw()->getRenderer()->clearColor();
	colorClear->set(0.0f, 0.0f, 0.0f, 0.0f);

	// 制御モード終了
	endActMode();
}
/*---------------------------------------------------------------------*//**
	開始
**//*---------------------------------------------------------------------*/
bool ModelViewMode::notifyBegin(void* objParamRef)
{
	// パラメータ取得
	GameModeParam* gmparam = (GameModeParam*)objParamRef;
	if(TFW_IS_FLAG(gmparam->getFlags(), GameModeParam::F_DEBUG_MODEL_VIEW_FILE1))		{	_param = 1;	}
	else if(TFW_IS_FLAG(gmparam->getFlags(), GameModeParam::F_DEBUG_MODEL_VIEW_FILE2))	{	_param = 2;	}
	else if(TFW_IS_FLAG(gmparam->getFlags(), GameModeParam::F_DEBUG_MODEL_VIEW_FILE3))	{	_param = 3;	}
	if(gmparam != 0L)	{	gmparam->clearFlags();	}

	// 制御モード開始
	beginActMode(AMODE_MODEL, true);

	// クリアカラー設定
	Vector4F* colorClear = Game::getGame()->getTfw()->getRenderer()->clearColor();
	colorClear->set(0.5f, 0.5f, 0.5f, 1.0f);

	// 値の初期化
	_dispCnt = 0;

	return true;
}
/*---------------------------------------------------------------------*//**
	開始
**//*---------------------------------------------------------------------*/
bool PrpzlPlayMode::notifyBegin(void* objParamRef)
{
	// パズルモジュールの作成と開始
	PrpzlPerf_Enlight* perf = new PrpzlPerf_Enlight();	ASSERT(perf != 0L);
	PurePuzzle* pzl = new PurePuzzle();					ASSERT(pzl != 0L);
	if(!pzl->begin(_opdatRef, perf))
	{
		delete pzl;
		delete perf;
		return false;
	}
	_perf = perf;
	_pzl = pzl;

	// クリアカラー設定
	Vector4F* colorClear = Game::getGame()->getTfw()->getRenderer()->clearColor();
	colorClear->set(0.25f, 0.25f, 0.25f, 1.0f);

	// シーングラフ及びリソースプールにモデルビュー標準カメラを追加
	SorSgm* sgm = Game::getGame()->getSceneGraph();
	CamSgnc* nodecCam = (CamSgnc*)sgm->getKindChain(SorSgm::EK_CAM);
	{
		// モデルビューカメラの追加
		BookViewCam* bvcam = new BookViewCam();
		if(!bvcam->create())
		{
			return false;
		}
		if(sgm->addNode(bvcam, true))
		{
			nodecCam->switchVisible(bvcam->getId());	// カメラを有効化
			_camRef = bvcam;
		}
	}

	return true;
}
/*---------------------------------------------------------------------*//**
	終了
**//*---------------------------------------------------------------------*/
void PrpzlPlayMode::notifyEnd(void* objParamRef)
{
	// カメラを破棄
	if(_camRef != 0L)
	{
		SorSgm* sgm = Game::getGame()->getSceneGraph();
		sgm->removeNode(_camRef);
		_camRef = 0L;
	}

	// クリアカラー設定を戻す
	Vector4F* colorClear = Game::getGame()->getTfw()->getRenderer()->clearColor();
	colorClear->set(0.0f, 0.0f, 0.0f, 0.0f);

	// パズルモジュールの終了と削除
	if(_pzl != 0L)
	{
		_pzl->end();
		delete _pzl;
		_pzl = 0L;
		delete _perf;
		_perf = 0L;
	}
}