Exemplo n.º 1
0
    private void CmdRequestCurrentPlayerCount()
    {
        int           nCurrentCount = 0;
        ServerManager svrMgr        = FindObjectOfType <ServerManager>();

        if (svrMgr != null)
        {
            nCurrentCount = svrMgr.GetCurrentPlayerCounts();
            currentIndex  = nCurrentCount;
            svrMgr.AddPlayer();
        }
        RpcResponseCurrentPlayerCount(nCurrentCount);
    }
        //Login auth user and will start the main game when it is passed
        //It also starts the timers for the player
        private void btnlogin_Click(object sender, RoutedEventArgs e)
        {
            var username = txtUsername.Text;
            var password = txtPassword.Password;
            var plyMgr   = new UserManager();
            var serMgr   = new ServerManager();

            if (_user == null)
            {
                try
                {
                    _user = plyMgr.AuthenticateUser(username, password);
                    //MessageBox.Show("Welcome back, " + _user.FirstName);
                    LoggedIn();

                    try
                    {
                        serMgr.AddPlayer(_user.PlayerID);

                        player = serMgr.GetPlayer(_user.UserName);
                        btnItemList.Visibility   = Visibility.Visible;
                        btnServerList.Visibility = Visibility.Visible;
                        //Menu.Visibility = Visibility.Hidden;
                        txtPassword.Password = "";
                        txtUsername.Text     = "";
                        btnLogin.IsDefault   = false;

                        GameView.Children.Remove(PlayerImage);
                        PlayerImage = new Image();

                        PlayerBitmap = BitmapListRight[0];

                        PlayerImage.Source = PlayerBitmap;
                        PlayerImage.Width  = PlayerBitmap.Width;
                        PlayerImage.Height = PlayerBitmap.Height;

                        GameView.Children.Add(PlayerImage);

                        Canvas.SetBottom(PlayerImage, player.LocationY);
                        Canvas.SetLeft(PlayerImage, player.LocationX);

                        StatusMessage.Content                = "Logged in as " + _user.UserName;
                        dispatcherTimerServerUpdate          = new DispatcherTimer(); //does new here to reset it so it does not speed up
                        dispatcherTimerServerUpdate.Tick    += new EventHandler(dispatcherTimerServerUpdate_Tick);
                        dispatcherTimerServerUpdate.Interval = TimeSpan.FromMilliseconds(1000);
                        dispatcherTimerMovement              = new DispatcherTimer(); //does new here to reset it so it does not speed up
                        dispatcherTimerMovement.Tick        += new EventHandler(dispatcherTimerMovement_Tick);
                        dispatcherTimerMovement.Interval     = TimeSpan.FromMilliseconds(60);
                        dispatcherTimerPlayerImage           = new DispatcherTimer(); //does new here to reset it so it does not speed up
                        dispatcherTimerPlayerImage.Tick     += new EventHandler(dispatcherTimerPlayerImage_Tick);
                        dispatcherTimerPlayerImage.Interval  = TimeSpan.FromMilliseconds(60);
                        txtPassword.Background               = Brushes.White;
                        dispatcherTimerServerUpdate.Start();
                        dispatcherTimerMovement.Start();
                        dispatcherTimerPlayerImage.Start();
                        //FindOthers();
                    }
                    catch
                    {
                        throw new Exception("Was not able to add Player to server.");
                    }
                }
                catch (Exception ex)
                {
                    //MessageBox.Show("Intruder Alert");
                    txtPassword.Background     = Brushes.Red;
                    StatusNotification.Content = ex.Message;
                }
            }
            else
            {
                _user = null;
                LoggedOut();
                btnItemList.Visibility   = Visibility.Hidden;
                btnServerList.Visibility = Visibility.Hidden;
                //Menu.Visibility = System.Windows.Visibility.Visible;
                btnLogin.Content   = "Login";
                btnLogin.IsDefault = true;
                txtUsername.Focus();
                StatusMessage.Content = "You are not logged in. Log in to Continue.";
            }
        }