IEnumerator GameMain() { while (!stageManager.IsFinish && !IsFinish) { stageManager.DisactiveResults(); stageManager.GoNextStage(); playLogWriter.SetPlayExerciseOnStart(stageManager.CurrentStageData); WritePlayerID(); timer.RpcReadyToStart(); while (timer.CurrentState == null || !timer.CurrentState.IsRunning) { yield return(null); } while (timer.CurrentState.IsRunning) { yield return(null); } // ステージ終了まで待つ timer.RpcStageStart(stageManager.CurrentStage.TimeLimit); while (timer.CurrentState == null || !timer.CurrentState.IsRunning) { yield return(null); } while (timer.CurrentState.IsRunning) { yield return(null); } StopPlayersDrag(); int collect = stageManager.ShowCheckDetail(); PlayStageState.EndConditionType endCondition = (timer.CurrentState as PlayStageState).EndCondition; if (endCondition != PlayStageState.EndConditionType.check_perfect) { playLogWriter.SetJudgeLog(0.0f, collect, "time_over"); } playLogWriter.SetPlayExerciseOnEndGame(collect, endCondition); timer.RpcStageEnd(collect); while (timer.CurrentState == null || !timer.CurrentState.IsRunning) { yield return(null); } while (timer.CurrentState.IsRunning) { yield return(null); } } IsFinish = false; timer.GoFinalResult(); mainCoroutine = null; }
/// <summary> ゲーム終了時に終了時間などのログをDBに保存 </summary> public void SetPlayExerciseOnEndGame(int point, PlayStageState.EndConditionType endCondition) { string query = string.Format("UPDATE play_exercise SET ") + string.Format("end_time={0},point={1},end_condition='{2}' ", CurrentUnixTime, point, endCondition) + string.Format("WHERE id={0}", currentPlayExerciseId); sqlDB.ExecuteQuery(query); }
void IWritePlayLog.SetPlayExerciseOnEndGame(int point, PlayStageState.EndConditionType endCondition) { }