private void SpeedKillTrackerOnCombatStartEventHandler(bool isImport, CombatToggleEventArgs encounterInfo)
        {
            try
            {
                speedRunTrackerTable.Reset();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            currentFightData = encounterInfo.encounter;

            try
            {
                LoadFightCheckpoints();
                fightDataFactory = new FightDataFactory(ActGlobals.oFormActMain.CurrentZone, checkPointDataTable.PhaseCount);

                raidZoneTitleTextBox.Text = RAID_ZONE_TITLE_PREFIX + ActGlobals.oFormActMain.CurrentZone;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
        public void DeInitPlugin()
        {
            trackerPage      = null;
            currentFightData = null;

            fightDataFactory = null;
            fightData        = null;

            checkPointDataTable  = null;
            speedRunTrackerTable = null;
        }
        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;
        }