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();
}
}
}