Questor.QuestorfrmMain.UpdateUiTick C# (CSharp) Метод

UpdateUiTick() приватный Метод

private UpdateUiTick ( object sender, EventArgs e ) : void
sender object
e EventArgs
Результат void
        private void UpdateUiTick(object sender, EventArgs e)
        {
            //if (Settings.Instance.DebugUI) Logging.Log("QuestorUI", "UpdateUiTick", Logging.White);
            // The if's in here stop the UI from flickering
            string text = "Questor";
            if (Settings.Instance.CharacterName != string.Empty)
            {
                text = "Questor [" + Settings.Instance.CharacterName + "]";
            }
            if (Settings.Instance.CharacterName != string.Empty && Cache.Instance.Wealth > 10000000)
            {
                text = "Questor [" + Settings.Instance.CharacterName + "][" + String.Format("{0:0,0}", Cache.Instance.Wealth / 1000000) + "mil isk]";
            }

            if (Text != text)
                Text = text;

            lastSessionisreadyData.Text = "[" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastSessionIsReady).TotalSeconds, 0) + "] sec ago";
            LastFrameData.Text = "[" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastFrame).TotalSeconds, 0) + "] sec ago";
            lastInSpaceData.Text = "[" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastInSpace).TotalSeconds, 0) + "] sec ago";
            lastInStationData.Text = "[" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastInStation).TotalSeconds, 0) + "] sec ago";
            lastKnownGoodConnectedTimeData.Text = "[" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastKnownGoodConnectedTime).TotalMinutes, 0) + "] min ago";
            dataStopTimeSpecified.Text = Cache.Instance.StopTimeSpecified.ToString();

            if (Cache.Instance.SessionState == "Quitting")
            {
                if (_States.CurrentQuestorState != QuestorState.CloseQuestor)
                {
                    if (Cache.Instance.ReasonToStopQuestor == string.Empty)
                    {
                        Cache.Instance.ReasonToStopQuestor = "Cache.Instance.SessionState == Quitting";
                    }

                    Cleanup.CloseQuestor(Cache.Instance.ReasonToStopQuestor);
                }
            }

            RefreshInfoDisplayedInUI();

            //
            // Left Group
            //
            if ((string)QuestorStateComboBox.SelectedItem != _States.CurrentQuestorState.ToString() && !QuestorStateComboBox.DroppedDown)
            {
                QuestorStateComboBox.SelectedItem = _States.CurrentQuestorState.ToString();
                _States.LavishEvent_QuestorState();
                if (_States.CurrentQuestorState == QuestorState.Idle)
                {
                    _States.LavishEvent_QuestorIdle();
                }
            }

            if (_States.CurrentQuestorState == QuestorState.CombatMissionsBehavior)
            {
                if ((string)BehaviorComboBox.SelectedItem != _States.CurrentCombatMissionBehaviorState.ToString() && !BehaviorComboBox.DroppedDown)
                {
                    BehaviorComboBox.SelectedItem = _States.CurrentCombatMissionBehaviorState.ToString();
                    _States.LavishEvent_QuestorCombatMissionsBehaviorState();
                }
            }

            if (_States.CurrentQuestorState == QuestorState.Mining)
            {
                if ((string)BehaviorComboBox.SelectedItem != _States.CurrentMiningState.ToString() && !BehaviorComboBox.DroppedDown)
                {
                    BehaviorComboBox.SelectedItem = _States.CurrentMiningState.ToString();
                }
            }

            if (_States.CurrentQuestorState == QuestorState.DedicatedBookmarkSalvagerBehavior)
            {
                if ((string)BehaviorComboBox.SelectedItem != _States.CurrentDedicatedBookmarkSalvagerBehaviorState.ToString() && !BehaviorComboBox.DroppedDown)
                {
                    BehaviorComboBox.SelectedItem = _States.CurrentDedicatedBookmarkSalvagerBehaviorState.ToString();
                    _States.LavishEvent_QuestorDedicatedBookmarkSalvagerBehaviorState();
                }
            }

            if (_States.CurrentQuestorState == QuestorState.CombatHelperBehavior)
            {
                if ((string)BehaviorComboBox.SelectedItem != _States.CurrentCombatHelperBehaviorState.ToString() && !BehaviorComboBox.DroppedDown)
                {
                    BehaviorComboBox.SelectedItem = _States.CurrentCombatHelperBehaviorState.ToString();
                }
            }

            if (_States.CurrentQuestorState == QuestorState.DirectionalScannerBehavior)
            {
                if ((string)BehaviorComboBox.SelectedItem != _States.CurrentDirectionalScannerBehaviorState.ToString() && !BehaviorComboBox.DroppedDown)
                {
                    BehaviorComboBox.SelectedItem = _States.CurrentDirectionalScannerBehaviorState.ToString();
                }
            }

            //if (_States.CurrentQuestorState == QuestorState.BackgroundBehavior)
            //{
            //    if ((string)BehaviorComboBox.SelectedItem != _States.CurrentBackgroundBehaviorState.ToString() && !BehaviorComboBox.DroppedDown)
            //    {
            //        BehaviorComboBox.SelectedItem = _States.CurrentBackgroundBehaviorState.ToString();
            //    }
            //}

            if ((string)DamageTypeComboBox.SelectedItem != Cache.Instance.MissionDamageType.ToString() && !DamageTypeComboBox.DroppedDown)
            {
                DamageTypeComboBox.SelectedItem = Cache.Instance.MissionDamageType.ToString();
            }

            //
            // Middle group
            //
            if ((string)PanicStateComboBox.SelectedItem != _States.CurrentPanicState.ToString() && !PanicStateComboBox.DroppedDown)
            {
                PanicStateComboBox.SelectedItem = _States.CurrentPanicState.ToString();
                _States.LavishEvent_QuestorPanicState();
            }

            if ((string)CombatStateComboBox.SelectedItem != _States.CurrentCombatState.ToString() && !CombatStateComboBox.DroppedDown)
            {
                CombatStateComboBox.SelectedItem = _States.CurrentCombatState.ToString();
                _States.LavishEvent_QuestorCombatState();
            }

            if ((string)DronesStateComboBox.SelectedItem != _States.CurrentDroneState.ToString() && !DronesStateComboBox.DroppedDown)
            {
                DronesStateComboBox.SelectedItem = _States.CurrentDroneState.ToString();
                _States.LavishEvent_QuestorDronesState();
            }

            if ((string)CleanupStateComboBox.SelectedItem != _States.CurrentCleanupState.ToString() && !CleanupStateComboBox.DroppedDown)
            {
                CleanupStateComboBox.SelectedItem = _States.CurrentCleanupState.ToString();
            }

            if ((string)LocalWatchStateComboBox.SelectedItem != _States.CurrentLocalWatchState.ToString() && !LocalWatchStateComboBox.DroppedDown)
            {
                LocalWatchStateComboBox.SelectedItem = _States.CurrentLocalWatchState.ToString();
            }

            if ((string)SalvageStateComboBox.SelectedItem != _States.CurrentSalvageState.ToString() && !SalvageStateComboBox.DroppedDown)
            {
                SalvageStateComboBox.SelectedItem = _States.CurrentSalvageState.ToString();
            }

            //
            // Right Group
            //
            if ((string)CombatMissionCtrlStateComboBox.SelectedItem != _States.CurrentCombatMissionCtrlState.ToString() && !CombatMissionCtrlStateComboBox.DroppedDown)
            {
                CombatMissionCtrlStateComboBox.SelectedItem = _States.CurrentCombatMissionCtrlState.ToString();
            }

            if ((string)StorylineStateComboBox.SelectedItem != _States.CurrentStorylineState.ToString() && !StorylineStateComboBox.DroppedDown)
            {
                StorylineStateComboBox.SelectedItem = _States.CurrentStorylineState.ToString();
            }

            if ((string)ArmStateComboBox.SelectedItem != _States.CurrentArmState.ToString() && !ArmStateComboBox.DroppedDown)
            {
                ArmStateComboBox.SelectedItem = _States.CurrentArmState.ToString();
            }

            if ((string)UnloadStateComboBox.SelectedItem != _States.CurrentUnloadLootState.ToString() && !UnloadStateComboBox.DroppedDown)
            {
                UnloadStateComboBox.SelectedItem = _States.CurrentUnloadLootState.ToString();
            }

            if ((string)TravelerStateComboBox.SelectedItem != _States.CurrentTravelerState.ToString() && !TravelerStateComboBox.DroppedDown)
            {
                TravelerStateComboBox.SelectedItem = _States.CurrentTravelerState.ToString();
                _States.LavishEvent_QuestorTravelerState();
            }

            if ((string)AgentInteractionStateComboBox.SelectedItem != _States.CurrentAgentInteractionState.ToString() && !AgentInteractionStateComboBox.DroppedDown)
            {
                AgentInteractionStateComboBox.SelectedItem = _States.CurrentAgentInteractionState.ToString();
            }

            //if (Settings.Instance.CharacterMode.ToLower() == "dps" || Settings.Instance.CharacterMode.ToLower() == "combat missions")
            //{
            //
            //}

            if (AutoStartCheckBox.Checked != Settings.Instance.AutoStart)
            {
                AutoStartCheckBox.Checked = Settings.Instance.AutoStart;
                _States.LavishEvent_QuestorAutoStartState();
            }

            if (PauseCheckBox.Checked != Cache.Instance.Paused)
            {
                PauseCheckBox.Checked = Cache.Instance.Paused;
                _States.LavishEvent_QuestorPausedState();
            }

            if (Disable3DCheckBox.Checked != Settings.Instance.Disable3D)
            {
                Disable3DCheckBox.Checked = Settings.Instance.Disable3D;
                _States.LavishEvent_QuestorDisable3DState();
            }

            if (Settings.Instance.WindowXPosition.HasValue)
            {
                Left = Settings.Instance.WindowXPosition.Value;
                Settings.Instance.WindowXPosition = null;
            }

            if (Settings.Instance.WindowYPosition.HasValue)
            {
                Top = Settings.Instance.WindowYPosition.Value;
                Settings.Instance.WindowYPosition = null;
            }

            if (_States.CurrentCombatMissionBehaviorState == CombatMissionsBehaviorState.ExecuteMission && Cache.Instance.CurrentPocketAction != null)
            {
                string newlblCurrentPocketActiontext = "[ " + Cache.Instance.CurrentPocketAction + " ] Action";
                if (lblCurrentPocketAction.Text != newlblCurrentPocketActiontext)
                {
                    lblCurrentPocketAction.Text = newlblCurrentPocketActiontext;
                }
            }
            else if (_States.CurrentCombatMissionBehaviorState == CombatMissionsBehaviorState.Salvage ||
                     _States.CurrentCombatMissionBehaviorState == CombatMissionsBehaviorState.GotoSalvageBookmark ||
                     _States.CurrentCombatMissionBehaviorState == CombatMissionsBehaviorState.SalvageNextPocket ||
                     _States.CurrentCombatMissionBehaviorState == CombatMissionsBehaviorState.BeginAfterMissionSalvaging ||
                     _States.CurrentCombatMissionBehaviorState == CombatMissionsBehaviorState.SalvageUseGate)
            {
                const string newlblCurrentPocketActiontext = "[ " + "After Mission Salvaging" + " ] ";
                if (lblCurrentPocketAction.Text != newlblCurrentPocketActiontext)
                {
                    lblCurrentPocketAction.Text = newlblCurrentPocketActiontext;
                }
            }
            else
            {
                const string newlblCurrentPocketActiontext = "[ ]";
                if (lblCurrentPocketAction.Text != newlblCurrentPocketActiontext)
                {
                    lblCurrentPocketAction.Text = newlblCurrentPocketActiontext;
                }
            }

            if (!String.IsNullOrEmpty(Cache.Instance.MissionName))
            {
                if (!String.IsNullOrEmpty(Settings.Instance.MissionsPath))
                {
                    if (File.Exists(Cache.Instance.MissionXmlPath))
                    {
                        string newlblCurrentMissionInfotext = "[ " + Cache.Instance.MissionName + " ][ " + Math.Round(DateTime.UtcNow.Subtract(Statistics.Instance.StartedMission).TotalMinutes, 0) + " min][ #" + Statistics.Instance.MissionsThisSession + " ]";
                        if (lblCurrentMissionInfo.Text != newlblCurrentMissionInfotext)
                        {
                            lblCurrentMissionInfo.Text = newlblCurrentMissionInfotext;
                            buttonOpenMissionXML.Enabled = true;
                        }
                    }
                    else
                    {
                        string newlblCurrentMissionInfotext = "[ " + Cache.Instance.MissionName + " ][ " + Math.Round(DateTime.UtcNow.Subtract(Statistics.Instance.StartedMission).TotalMinutes, 0) + " min][ #" + Statistics.Instance.MissionsThisSession + " ]";
                        if (lblCurrentMissionInfo.Text != newlblCurrentMissionInfotext)
                        {
                            lblCurrentMissionInfo.Text = newlblCurrentMissionInfotext;
                            buttonOpenMissionXML.Enabled = false;
                        }
                    }
                }
            }
            else if (String.IsNullOrEmpty(Cache.Instance.MissionName))
            {
                lblCurrentMissionInfo.Text = Resources.QuestorfrmMain_UpdateUiTick_No_Mission_Selected_Yet;
                buttonOpenMissionXML.Enabled = false;
            }
            else
            {
                //lblCurrentMissionInfo.Text = "No Mission XML exists for this mission";
                buttonOpenMissionXML.Enabled = false;
            }

            if (Settings.Instance.DefaultSettingsLoaded)
            {
                buttonOpenCharacterXML.Enabled = false;
                buttonOpenSchedulesXML.Enabled = false;
                buttonQuestormanager.Enabled = false;
                buttonOpenCommonSettingsXML.Enabled = false;
                buttonQuestorStatistics.Enabled = false;
            }
            else
            {
                if (Settings.Instance.CharacterXMLExists)
                {
                    buttonOpenCharacterXML.Enabled = true;
                    Settings.Instance.CharacterXMLExists = true;
                }
                else
                {
                    buttonOpenCharacterXML.Enabled = false;
                    Settings.Instance.CharacterXMLExists = false;
                }

                //
                // Does Schedules.xml exist in the directory where we started questor?
                //
                if (Settings.Instance.SchedulesXMLExists)
                {
                    buttonOpenCharacterXML.Enabled = true;
                    Settings.Instance.SchedulesXMLExists = true;
                }
                else
                {
                    buttonOpenSchedulesXML.Enabled = false;
                    Settings.Instance.SchedulesXMLExists = false;
                }

                //
                // Does QuestorStatistics.exe exist in the directory where we started questor?
                //
                if (Settings.Instance.QuestorStatisticsExists)
                {
                    buttonQuestorStatistics.Enabled = true;
                    Settings.Instance.QuestorStatisticsExists = true;
                }
                else
                {
                    buttonQuestorStatistics.Enabled = false;
                    Settings.Instance.QuestorStatisticsExists = false;
                }

                //
                // Does QuestorSettings.exe exist in the directory where we started questor?
                //
                if (Settings.Instance.QuestorSettingsExists)
                {
                    buttonOpenCommonSettingsXML.Enabled = true;
                    Settings.Instance.QuestorSettingsExists = true;
                }
                else
                {
                    buttonOpenCommonSettingsXML.Enabled = false;
                    Settings.Instance.QuestorSettingsExists = false;
                }

                //
                // Does Questormanager.exe exist in the directory where we started questor?
                //
                if (Settings.Instance.QuestorManagerExists)
                {
                    buttonQuestormanager.Enabled = true;
                    Settings.Instance.QuestorManagerExists = true;
                }
                else
                {
                    buttonQuestormanager.Enabled = false;
                    Settings.Instance.QuestorManagerExists = false;
                }
            }

            if (!String.IsNullOrEmpty(Cache.Instance.ExtConsole))
            {
                if (DateTime.UtcNow > _nextConsoleLogRefresh)
                {
                    if (txtExtConsole.Lines.Count() >= Settings.Instance.MaxLineConsole)
                    {
                        txtExtConsole.Text = "";
                    }
                    txtExtConsole.AppendText(Cache.Instance.ExtConsole);
                    Cache.Instance.ExtConsole = null;
                    _nextConsoleLogRefresh = DateTime.UtcNow.AddSeconds(1);
                }
            }

            int extraWaitSeconds = 0;
            if (!System.Diagnostics.Debugger.IsAttached) //do not restart due to no frames or Session.Isready aging if a debugger is attached until it reaches absurdity...
            {
                extraWaitSeconds = 60;
            }

            if (DateTime.UtcNow.Subtract(Cache.Instance.LastFrame).TotalSeconds > (Time.Instance.NoFramesRestart_seconds + extraWaitSeconds) && DateTime.UtcNow.Subtract(Program.AppStarted).TotalSeconds > 300)
            {
                if (DateTime.UtcNow.Subtract(Cache.Instance.LastLogMessage).TotalSeconds > 30)
                {
                    Logging.Log("QuestorUI", "The Last UI Frame Drawn by EVE was [" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastFrame).TotalSeconds, 0) + "] seconds ago! This is bad. - Exiting EVE", Logging.Red);
                    Cache.Instance.ReasonToStopQuestor = "The Last UI Frame Drawn by EVE was [" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastFrame).TotalSeconds, 0) + "] seconds ago! This is bad. - Exiting EVE";
                    //
                    // closing eve would be a very good idea here
                    //
                    Cleanup.CloseQuestor(Cache.Instance.ReasonToStopQuestor);

                    //Application.Exit();
                }
            }

            if (DateTime.UtcNow.Subtract(Cache.Instance.LastSessionIsReady).TotalSeconds > (Time.Instance.NoSessionIsReadyRestart_seconds + extraWaitSeconds) &&
                    DateTime.UtcNow.Subtract(Program.AppStarted).TotalSeconds > 210)
            {
                if (DateTime.UtcNow.Subtract(Cache.Instance.LastLogMessage).TotalSeconds > 60)
                {
                    Logging.Log("QuestorUI", "The Last Session.IsReady = true was [" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastSessionIsReady).TotalSeconds, 0) + "] seconds ago! This is bad. - Exiting EVE", Logging.Red);
                    Cache.Instance.ReasonToStopQuestor = "The Last Session.IsReady = true was [" + Math.Round(DateTime.UtcNow.Subtract(Cache.Instance.LastSessionIsReady).TotalSeconds, 0) + "] seconds ago! This is bad. - Exiting EVE";
                    Cleanup.CloseQuestor(Cache.Instance.ReasonToStopQuestor);

                    //Application.Exit();
                }
            }
        }
QuestorfrmMain