// 任務事件處理者 void MissionExecutor(Mission mission) { switch (mission) { case Mission.Harvest: // 達成XX收穫 { if ((battleManager.score - lastScore) >= _missionScore) // success { _missionMode = MissionMode.Completing; Global.isMissionCompleted = true; } else if (gameTime - lastGameTime > missionTime) // failed { _missionMode = MissionMode.Completed; battleHUD.MissionFailedMsg(mission, 0); } break; } case Mission.Reduce: // 完成後 activeScore要減少Reduce的量 { double endTime = gameTime - lastGameTime - missionTime; if (endTime > -5 && endTime < 0) // 減少糧食 這比較特殊 需要顯示閃爍血調 還沒寫 { battleHUD.HPBar_Shing(); } else if (gameTime - lastGameTime > missionTime) { _missionMode = MissionMode.Completing; Global.isMissionCompleted = true; } break; } case Mission.DrivingMice: { if (gameTime - lastGameTime > missionTime) //missionScore 這裡是 Combo任務目標 { if (battleManager.combo < _missionScore) { _missionMode = MissionMode.Completed; battleHUD.MissionFailedMsg(mission, 0); } else { _missionMode = MissionMode.Completing; Global.isMissionCompleted = true; } } break; } case Mission.HarvestRate: { if (gameTime - lastGameTime > missionTime) { _missionMode = MissionMode.Completing; Global.isMissionCompleted = true; } break; } case Mission.Exchange: { if (gameTime - lastGameTime > missionTime) { _missionMode = MissionMode.Completing; Global.isMissionCompleted = true; } break; } case Mission.WorldBoss: // 要計算網路延遲... **********還沒寫************* // 在 BossPorperty在邏輯判斷 break; } }