Beispiel #1
0
        public void IsReady(Loby loby, bool IsCreater)
        {
            Loby returnLoby = CachData.Lobys.Find(lobys => lobys.Equals(loby));

            if (IsCreater)
            {
                returnLoby.IsReadyCreater = true;
            }
            else
            {
                returnLoby.IsReadyEnemy = true;
            }
            CachData.UsersOnline[loby.Creater].RefreshLoby(returnLoby);
            CachData.UsersOnline[loby.Enemy].RefreshLoby(returnLoby);

            if (returnLoby.IsReadyCreater == true && returnLoby.IsReadyEnemy == true)
            {
                Game game = new Game(returnLoby);
                CachData.UsersOnline[loby.Creater].StartGame(game, loby.Creater);
                CachData.UsersOnline[loby.Enemy].StartGame(game, loby.Enemy);

                CachData.Games.Remove(game);
                foreach (var callBack in CachData.UsersOnline.Values)
                {
                    callBack.DropLoby(loby, false);
                }
            }
        }
Beispiel #2
0
        private void ConnectLobyCommandExecute()
        {
            Loby selectedLoby = (Loby)MainWindowViewProp.lbLoby.SelectedItem;

            if (selectedLoby == null)
            {
                new MsgBox("Don`t select loby!").ShowDialog();
                return;
            }
            if (Proxy.IsCanConnect(selectedLoby))
            {
                if (selectedLoby.Password != "")
                {
                    CheckPass checkPass = new CheckPass(selectedLoby);
                    checkPass.ShowDialog();
                    if (checkPass.IsTrue)
                    {
                        Connect(selectedLoby);
                    }
                }
                else
                {
                    Connect(selectedLoby);
                }
            }
            else
            {
                new MsgBox("Лобі зайняте").ShowDialog();
            }
        }
        public RoomListScriptClient(Loby Owner)
            : base(ScriptName)
        {
            this.Owner = Owner;

            ListRoomUpdates = new List <RoomInformations>();
        }
Beispiel #4
0
 public bool IsCanConnect(Loby loby)
 {
     if (CachData.Lobys.Find(lobys => lobys.Equals(loby)).Enemy != null)
     {
         return(false);
     }
     return(true);
 }
Beispiel #5
0
 public LobyViewModel(LobyView lobyView, Loby loby, MainWindowViewModel mainWindowViewModel)
 {
     _lobyView = lobyView;
     _loby     = loby;
     RaisePropertyChanged("Creater");
     RaisePropertyChanged("CanIsStart");
     _mainWindowViewModel = mainWindowViewModel;
     _lobyView.Closed    += _lobyView_Closed;
 }
Beispiel #6
0
 public void DropLoby(Loby loby, bool isPlayer)
 {
     if (isPlayer)
     {
         _mainWindowViewModel.LobyViewModelProp._lobyView.Close();
         _mainWindowViewModel.LobyViewModelProp = null;
         return;
     }
     _mainWindowViewModel.MainWindowViewProp.lbLoby.Items.Remove(loby);
 }
Beispiel #7
0
 public void CreateLoby(Loby loby)
 {
     if (CachData.Lobys.Contains(loby))
     {
         return;
     }
     CachData.Lobys.Add(loby);
     foreach (var callBack in CachData.UsersOnline.Values)
     {
         callBack.AddLoby(loby);
     }
 }
Beispiel #8
0
        public void DropLoby(Loby loby)
        {
            CachData.Lobys.Remove(loby);
            CachData.UsersOnline[loby.Creater].DropLoby(loby, true);
            if (loby.Enemy != null)
            {
                CachData.UsersOnline[loby.Enemy].DropLoby(loby, true);
            }

            foreach (var callBack in CachData.UsersOnline.Values)
            {
                callBack.DropLoby(loby, false);
            }
        }
Beispiel #9
0
        private void Connect(Loby selectedLoby)
        {
            LobyView      lobyView      = new LobyView();
            LobyViewModel lobyViewModel = new LobyViewModel(lobyView, selectedLoby, this);

            lobyView.DataContext = lobyViewModel;
            LobyViewModelProp    = lobyViewModel;

            Proxy.ConnectToLoby(selectedLoby, UserProp);

            MainWindowViewProp.Visibility = System.Windows.Visibility.Hidden;
            lobyView.ShowDialog();
            MainWindowViewProp.Visibility = System.Windows.Visibility.Visible;
        }
Beispiel #10
0
        public void ConnectToLoby(Loby loby, User user)
        {
            Loby returnLoby = CachData.Lobys.Find(lobyInData => loby.Equals(lobyInData));

            if (returnLoby != null)
            {
                returnLoby.Enemy = user;
                foreach (var userInData in CachData.UsersOnline.Keys)
                {
                    if (userInData.Equals(returnLoby.Creater) || userInData.Equals(returnLoby.Enemy))
                    {
                        CachData.UsersOnline[userInData].RefreshLoby(returnLoby);
                    }
                }
            }
        }
Beispiel #11
0
        public void LeaveLoby(Loby loby)
        {
            Loby returnLoby = CachData.Lobys.Find(lobyInDataAll => lobyInDataAll.Equals(loby));

            if (returnLoby != null)
            {
                returnLoby.Enemy          = null;
                returnLoby.IsReadyCreater = false;
                returnLoby.IsReadyEnemy   = false;
                foreach (var users in CachData.UsersOnline.Keys)
                {
                    if (users.Equals(loby.Creater))
                    {
                        CachData.UsersOnline[users].RefreshLoby(returnLoby);
                    }
                }
            }
        }
Beispiel #12
0
        private void CreateLobyCommandExecute()
        {
            Loby loby = new Loby(_createLobyView.tbName.Text, _mainWindowViewModel.UserProp, _createLobyView.tbPass.Password);

            try
            {
                _mainWindowViewModel.Proxy.CreateLoby(loby);

                LobyView      lobyView      = new LobyView();
                LobyViewModel lobyViewModel = new LobyViewModel(lobyView, loby, _mainWindowViewModel);
                lobyView.DataContext = lobyViewModel;

                _mainWindowViewModel.LobyViewModelProp = lobyViewModel;

                _mainWindowViewModel.MainWindowViewProp.Visibility = System.Windows.Visibility.Hidden;
                _createLobyView.Close();
                lobyView.ShowDialog();
                _mainWindowViewModel.MainWindowViewProp.Visibility = System.Windows.Visibility.Visible;
            }
            catch
            {
                new MsgBox("Лобі з таким іменем вже існує").ShowDialog();
                _createLobyView.Close();
            }

            //if (_mainWindowViewModel.Proxy.CreateLoby(loby))
            //{
            //    LobyView lobyView = new LobyView();
            //    LobyViewModel lobyViewModel = new LobyViewModel(lobyView, loby, _mainWindowViewModel);
            //    lobyView.DataContext = lobyViewModel;

            //    _mainWindowViewModel.LobyViewModelProp = lobyViewModel;

            //    _mainWindowViewModel.MainWindowViewProp.Visibility = System.Windows.Visibility.Hidden;
            //    _createLobyView.Close();
            //    lobyView.ShowDialog();
            //    _mainWindowViewModel.MainWindowViewProp.Visibility = System.Windows.Visibility.Visible;
            //}
            //else
            //{
            //    new MsgBox("Лобі з таким іменем вже існує").ShowDialog();
            //    _createLobyView.Close();
            //}
        }
Beispiel #13
0
 public void CreateLoby(Loby loby)
 {
     _chanel.CreateLoby(loby);
 }
Beispiel #14
0
 public void RefreshLoby(Loby loby)
 {
     _mainWindowViewModel.LobyViewModelProp._loby = loby;
     _mainWindowViewModel.LobyViewModelProp.Refresh();
 }
Beispiel #15
0
 public void DropLoby(Loby loby)
 {
     _chanel.DropLoby(loby);
 }
Beispiel #16
0
 public void AddLoby(Loby loby)
 {
     _mainWindowViewModel.MainWindowViewProp.lbLoby.Items.Add(loby);
     _mainWindowViewModel.MainWindowViewProp.lbLoby.ScrollIntoView(loby);
 }
Beispiel #17
0
 public void LeaveLoby(Loby loby)
 {
     _chanel.LeaveLoby(loby);
 }
Beispiel #18
0
 public void ConnectToLoby(Loby loby, User user)
 {
     _chanel.ConnectToLoby(loby, user);
 }
Beispiel #19
0
 public bool IsCanConnect(Loby loby)
 {
     return(_chanel.IsCanConnect(loby));
 }
Beispiel #20
0
 public void IsReady(Loby loby, bool IsCreater)
 {
     _chanel.IsReady(loby, IsCreater);
 }
Beispiel #21
0
 public LoginSuccessScriptClient(Loby Owner)
     : base(ScriptName)
 {
     this.Owner = Owner;
 }
 public JoinRoomFailedScriptClient(TripleThunderOnlineClient Owner, Loby ScreenOwner)
     : base(ScriptName)
 {
     this.Owner       = Owner;
     this.ScreenOwner = ScreenOwner;
 }
Beispiel #23
0
 public CheckPass(Loby loby)
 {
     InitializeComponent();
     _loby  = loby;
     IsTrue = false;
 }