「【フェーズ (phase) について】 ...」、@umamusu_reveng さんからのスレッド
【フェーズ (phase) について】
レース中の現在の「スタートからの距離 / コース距離」に応じて「フェーズ (phase)」が定まります。フェーズは 0 ~ 3 の 4 通りの整数を取り得ます:
・0/6 ~ 1/6 → 0 (序盤)
・1/6 ~ 4/6 → 1 (中盤)
・4/6 ~ 5/6 → 2 (終盤)
・5/6 ~ 6/6 → 3 (ラスト)
<技術解説>
RacePhaseCalculator::GetPhaseByDistance() がフェーズの計算機です。
RacePhaseCalculator::Init() では、
PhaseMiddleStartDistance = 4.0 * sectionDistance,
PhaseEndStartDistance = 16.0 * sectionDistance,
PhaseLastStartDistance = 20.0 * sectionDistance
と定義されています。
なお sectionDistance については、RaceInfo::ctor() にて
CourseSectionDistance = RaceCourseSet.Distance / 24.0
として代入が行われています。