Esempio n. 1
0
 /// <summary>
 /// Ten kod wykonuje się przy naciśnięciu X
 /// Wysyłamy do Rabbita informacje o wyjściu, aby usunąć naszą ikonkę z mapy
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void CloseApp(object sender, CancelEventArgs e)
 {
     InfoOfMe.UserInfo.IsLeaving = true;
     InfoOfMe.UserInfo.IsNew     = false;
     InfoOfMe.UserInfo.IsUpdated = false;
     NetworkingHandler.Publisher.Publish(InfoOfMe.UserInfo);
     RabbitBus.Dispose();
     AfkTimer.Dispose();
 }
Esempio n. 2
0
        /// <summary>
        /// Logika przycisku "Connect"
        /// Funkcja odpowiadająca za łączenie z wysyłaniem i odbieraniem z Rabbita.
        /// Dodatkowa logika związana z rozłączeniem się i wyłączeniem apki
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void ClickConnect(object sender, RoutedEventArgs e)
        {
            if (!IsConnected)
            {
                if (!CheckConditions())
                {
                    return;
                }
                if (!IsAnimalPinPlaced)
                {
                    MessageBox.Show("Pin not placed. Please place a pin on a map before connecting. To place a pin, double click a point on the map.", "Pin not found!", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                usernameBox.IsEnabled = false;
                typeBox.IsEnabled     = false;
                IsConnected           = true;
                Publisher.Publish(InfoOfMe.UserInfo);
                Subscriber.Subscribe();
                connButton.Content = "Disconnect";
                AfkTimer           = new System.Threading.Timer(tmr => HandleAFKs.DeleteAfks(), null, TimeSpan.Zero, TimeSpan.FromMinutes(5));
            }
            else
            {
                if (MessageBox.Show("Do you really want to disconnect and exit?", "Should I?", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
                {
                    InfoOfMe.UserInfo.IsLeaving = true;
                    InfoOfMe.UserInfo.IsNew     = false;
                    InfoOfMe.UserInfo.IsUpdated = false;
                    Publisher.Publish(InfoOfMe.UserInfo);
                    RabbitBus.Dispose();
                    connButton.Content = "Connect";
                    System.Windows.Application.Current.Shutdown();
                }
            }
        }
Esempio n. 3
0
 public virtual void Dispose()
 {
     RabbitBus.Dispose();
     RabbitBus = null;
 }