void PasPlay::Update(){ // 更新処理 int i; for(i=0;i<MaxSE;i++){ mSE[i]->Initialize(); } mBackground->Update(); // 背景 if(flgStart) { UpdateStart(); } // ミッションスタート if(flgClear) { UpdateClear(); } // ミッションクリア if(flgGameOver) { UpdateGameOver(); } // ゲームオーバー if(flgResult) { UpdateResult(); } // リザルト if(flgWarning) { UpdateWarning(); } // ワーニング if(!flgStart && !flgClear && !flgResult){ // スタート且つクリアフラグが立っていなければ /*== 更新 ================*/ mUnitAdmin->Update(); // ゲームオブジェクト mStage->HiScoreUpdate(mUnitAdmin->GetScore()); // ハイスコア更新 mStage->HiDestroyUpdate(mUnitAdmin->GetDestroy()); // 破壊数記録更新 if(!flgGameOver && FlagGameOver()){ // 失敗条件を満たしてしまうとクリアしててもゲームオーバー GoToGameOver(); } if(!flgGameOver && !flgClear && FlagClear()){ // ゲームオーバーではなく、クリア条件を満たしているとクリア //GoToClear(); } if(!flgWarning && mUnitAdmin->GetBossReadyFlag()){ GoToWarning(); }// ボスの条件が整ったか否か if(flgBoss){ // ボスフラグが立っている状態で if(!mUnitAdmin->GetBossFlg()){ // ボスが消えると GoToClear(); // クリア flgBoss = false; } } } //if(!flgStart && !flgClear && !flgResult) for(i=0;i<MaxSE;i++){ mSE[i]->Update(); } // 再生するオーディオを再生 }
void ClearTrainerFlag(u16 flag) { FlagClear(TRAINER_FLAG_START + flag); }