Beispiel #1
0
        /// <summary>
        /// Starts the LCD display.
        /// </summary>
        private static void Start()
        {
            try
            {
                s_lcd = LcdDisplay.Instance();

                if (s_lcd == null)
                {
                    return;
                }

                s_lcd.SwitchState(LcdState.SplashScreen);

                // Initialize the current character
                s_lcd.CurrentCharacter = EveMonClient.MonitoredCharacters.OfType <CCPCharacter>().FirstOrDefault();

                UpdateFromSettings();

                // Subscribe to events of the EVEMon client
                EveMonClient.QueuedSkillsCompleted += EveMonClient_QueuedSkillsCompleted;
                EveMonClient.SettingsChanged       += EveMonClient_SettingsChanged;

                // Subscribe to events which occur of G15 buttons pressed
                LcdDisplay.ApiUpdateRequested      += LcdDisplay_APIUpdateRequested;
                LcdDisplay.AutoCycleChanged        += LcdDisplay_AutoCycleChanged;
                LcdDisplay.CurrentCharacterChanged += LcdDisplay_CurrentCharacterChanged;
            }
            catch (Exception ex)
            {
                ExceptionHandler.LogException(ex, true);
                s_lcd          = null;
                s_startupError = true;
            }
        }
Beispiel #2
0
        /// <summary>
        /// Stop the LCD display.
        /// </summary>
        private static void Stop()
        {
            try
            {
                s_lcd.Dispose();
            }
            catch (Exception ex)
            {
                EveMonClient.Trace("failed");
                ExceptionHandler.LogException(ex, true);
            }
            finally
            {
                s_lcd = null;

                // Unsubscribe to events of the EVEMon client
                EveMonClient.QueuedSkillsCompleted -= EveMonClient_QueuedSkillsCompleted;
                EveMonClient.SettingsChanged       -= EveMonClient_SettingsChanged;

                // Unsubscribe to events which occur of G15 buttons pressed
                LcdDisplay.ApiUpdateRequested      -= LcdDisplay_APIUpdateRequested;
                LcdDisplay.AutoCycleChanged        -= LcdDisplay_AutoCycleChanged;
                LcdDisplay.CurrentCharacterChanged -= LcdDisplay_CurrentCharacterChanged;
            }
        }
Beispiel #3
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="isDisposing">
        /// <c>true</c> to release both managed and unmanaged resources;
        /// <c>false</c> to release only unmanaged resources.
        /// </param>
        private void Dispose(bool isDisposing)
        {
            if (!m_disposed)
            {
                if (isDisposing || s_singleInstance != null)
                {
                    LcdInterface.Close();
                }

                m_buttonPressedCheckTimer.Stop();
                m_buttonPressedCheckTimer.Dispose();
                m_bmpLCD.Dispose();
                m_bmpLCDX.Dispose();
                s_singleInstance = null;
            }
            m_disposed = true;
        }
Beispiel #4
0
 /// <summary>
 /// Instances this instance.
 /// </summary>
 /// <returns></returns>
 internal static LcdDisplay Instance() => s_singleInstance ?? (s_singleInstance = new LcdDisplay());
Beispiel #5
0
        /// <summary>
        /// Stop the LCD display.
        /// </summary>
        private static void Stop()
        {
            try
            {
                s_lcd.Dispose();
            }
            catch (Exception ex)
            {
                EveMonClient.Trace("failed");
                ExceptionHandler.LogException(ex, true);
            }
            finally
            {
                s_lcd = null;

                // Unsubscribe to events of the EVEMon client
                EveMonClient.QueuedSkillsCompleted -= EveMonClient_QueuedSkillsCompleted;
                EveMonClient.SettingsChanged -= EveMonClient_SettingsChanged;

                // Unsubscribe to events which occur of G15 buttons pressed
                LcdDisplay.ApiUpdateRequested -= LcdDisplay_APIUpdateRequested;
                LcdDisplay.AutoCycleChanged -= LcdDisplay_AutoCycleChanged;
                LcdDisplay.CurrentCharacterChanged -= LcdDisplay_CurrentCharacterChanged;
            }
        }
Beispiel #6
0
        /// <summary>
        /// Starts the LCD display.
        /// </summary>
        private static void Start()
        {
            try
            {
                s_lcd = LcdDisplay.Instance();

                if (s_lcd == null)
                    return;

                s_lcd.SwitchState(LcdState.SplashScreen);

                // Initialize the current character
                s_lcd.CurrentCharacter = EveMonClient.MonitoredCharacters.OfType<CCPCharacter>().FirstOrDefault();

                UpdateFromSettings();

                // Subscribe to events of the EVEMon client
                EveMonClient.QueuedSkillsCompleted += EveMonClient_QueuedSkillsCompleted;
                EveMonClient.SettingsChanged += EveMonClient_SettingsChanged;

                // Subscribe to events which occur of G15 buttons pressed
                LcdDisplay.ApiUpdateRequested += LcdDisplay_APIUpdateRequested;
                LcdDisplay.AutoCycleChanged += LcdDisplay_AutoCycleChanged;
                LcdDisplay.CurrentCharacterChanged += LcdDisplay_CurrentCharacterChanged;
            }
            catch (Exception ex)
            {
                ExceptionHandler.LogException(ex, true);
                s_lcd = null;
                s_startupError = true;
            }
        }
Beispiel #7
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="isDisposing">
        /// <c>true</c> to release both managed and unmanaged resources;
        /// <c>false</c> to release only unmanaged resources.
        /// </param>
        private void Dispose(bool isDisposing)
        {
            if (!m_disposed)
            {
                if (isDisposing || s_singleInstance != null)
                    LcdInterface.Close();

                m_buttonPressedCheckTimer.Stop();
                m_buttonPressedCheckTimer.Dispose();
                m_bmpLCD.Dispose();
                m_bmpLCDX.Dispose();
                s_singleInstance = null;
            }
            m_disposed = true;
        }
Beispiel #8
0
 /// <summary>
 /// Instances this instance.
 /// </summary>
 /// <returns></returns>
 internal static LcdDisplay Instance() => s_singleInstance ?? (s_singleInstance = new LcdDisplay());