private void UpdateCurrentRunWorldRecordRunDifferenceToTracker()
        {
            TrackerData checkPointData = checkPointDataTable.CheckPointDatas[currentPhase];

            if (checkPointDataTable.CheckPointTypes[currentPhase] == DataType.kDataTypeTime)
            {
                TrackerTime currentRunWorldRecordRunCheckPointTimeDifference = DifferenceCalculator.CalculateCurrentRunWorldRecordRunCheckPointTimeDifference(fightData, checkPointDataTable, currentPhase);
                speedRunTrackerTable.UpdateCurrentRunWorldRecordDifference(currentPhase, currentRunWorldRecordRunCheckPointTimeDifference);
            }
            else
            {
                TrackerHP currentRunWorldRecordRunCheckPointHPDifference = DifferenceCalculator.CalculateCurrentRunWorldRecordRunCheckPointHPDifference(fightData, checkPointDataTable, currentPhase);
                speedRunTrackerTable.UpdateCurrentRunWorldRecordDifference(currentPhase, currentRunWorldRecordRunCheckPointHPDifference);
            }
        }
        private void SpeedKillTrackerOnCombatEndEventHandler(bool isImport, CombatToggleEventArgs encounterInfo)
        {
            try
            {
                if (IsCleared())
                {
                    TrackerTime currentRunWorldRecordRunClearTimeDifference = DifferenceCalculator.CalculateCurrentRunWorldRecordRunClearTimeDifference(fightData, checkPointDataTable);
                    speedRunTrackerTable.UpdateCurrentRunWorldRecordDifference(currentPhase, currentRunWorldRecordRunClearTimeDifference);
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine("check");
            }

            currentFightData = null;
            currentPhase     = 0;

            fightDataFactory = null;
            fightData        = null;
        }