private TotalAnalysis totalAnalyze(List <GameResult>[] gameResults) { TotalAnalysis output = new TotalAnalysis(); List <ResultAnalysis> analysises = new List <ResultAnalysis>(); int high = -1; int low = 17; analysises.Add(Analyze(gameResults[NewGameManager.Instance.GetSubjectIndex(Subject.Aiming)])); analysises.Add(Analyze(gameResults[NewGameManager.Instance.GetSubjectIndex(Subject.Concentration)])); analysises.Add(Analyze(gameResults[NewGameManager.Instance.GetSubjectIndex(Subject.Quickness)])); analysises.Add(Analyze(gameResults[NewGameManager.Instance.GetSubjectIndex(Subject.RhythmicSense)])); analysises.Add(Analyze(gameResults[NewGameManager.Instance.GetSubjectIndex(Subject.Thinking)])); output.average = (analysises[0].finalScore + analysises[1].finalScore + analysises[2].finalScore + analysises[3].finalScore + analysises[4].finalScore) / 5; //for(int i = 0; analysises.Count > i; i++) //{ // if (analysises[i].finalScore > high) // { // high = analysises[i].finalScore; // output.highestSubject = (Subject)(i + 1); // } // if (analysises[i].finalScore < low) // { // low = analysises[i].finalScore; // output.lowestSubject = (Subject)(i + 1); // } //} // 최고 최소 난이도 계산 for (int i = 0; i < gameResults.Length; ++i) { int tmp = NewGameManager.Instance.CalculateResultValue(gameResults[i]); if (high < tmp) { high = tmp; } if (low > tmp) { low = tmp; } } output.highestScore = high; output.lowestScore = low; output.range = high - low; return(output); }
private IEnumerator TotalAct(List <GameResult>[] gameResults) { TotalAnalysis totalAnalysis = totalAnalyze(gameResults); if (0 <= totalAnalysis.average && totalAnalysis.average <= 3) { totalDialogue.Add(TotalResultCode.TOT_A1); } else if (4 <= totalAnalysis.average && totalAnalysis.average <= 6) { totalDialogue.Add(TotalResultCode.TOT_A2); } else if (7 <= totalAnalysis.average && totalAnalysis.average <= 11) { totalDialogue.Add(TotalResultCode.TOT_A3); } else if (12 <= totalAnalysis.average) { totalDialogue.Add(TotalResultCode.TOT_A4); } if (0 <= totalAnalysis.range && totalAnalysis.range <= 3) { totalDialogue.Add(TotalResultCode.TOT_B1); } else if (4 <= totalAnalysis.range && totalAnalysis.range <= 8) { totalDialogue.Add(TotalResultCode.TOT_B2); } else if (9 <= totalAnalysis.range) { totalDialogue.Add(TotalResultCode.TOT_B3); } if (totalAnalysis.highestSubject == Subject.Aiming && totalAnalysis.highestScore >= 11) { totalDialogue.Add(TotalResultCode.TOT_C1); } else if (totalAnalysis.highestSubject == Subject.Concentration && totalAnalysis.highestScore >= 11) { totalDialogue.Add(TotalResultCode.TOT_C2); } else if (totalAnalysis.highestSubject == Subject.Quickness && totalAnalysis.highestScore >= 11) { totalDialogue.Add(TotalResultCode.TOT_C3); } else if (totalAnalysis.highestSubject == Subject.RhythmicSense && totalAnalysis.highestScore >= 11) { totalDialogue.Add(TotalResultCode.TOT_C4); } else if (totalAnalysis.highestSubject == Subject.Thinking && totalAnalysis.highestScore >= 11) { totalDialogue.Add(TotalResultCode.TOT_C5); } if (totalAnalysis.lowestSubject == Subject.Aiming && totalAnalysis.lowestScore <= 5) { totalDialogue.Add(TotalResultCode.TOT_D1); } else if (totalAnalysis.lowestSubject == Subject.Concentration && totalAnalysis.lowestScore <= 5) { totalDialogue.Add(TotalResultCode.TOT_D2); } else if (totalAnalysis.lowestSubject == Subject.Quickness && totalAnalysis.lowestScore <= 5) { totalDialogue.Add(TotalResultCode.TOT_D3); } else if (totalAnalysis.lowestSubject == Subject.RhythmicSense && totalAnalysis.lowestScore <= 5) { totalDialogue.Add(TotalResultCode.TOT_D4); } else if (totalAnalysis.lowestSubject == Subject.Thinking && totalAnalysis.lowestScore <= 5) { totalDialogue.Add(TotalResultCode.TOT_D5); } return(null); }