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); } } }
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>(); }
public bool IsCanConnect(Loby loby) { if (CachData.Lobys.Find(lobys => lobys.Equals(loby)).Enemy != null) { return(false); } return(true); }
public LobyViewModel(LobyView lobyView, Loby loby, MainWindowViewModel mainWindowViewModel) { _lobyView = lobyView; _loby = loby; RaisePropertyChanged("Creater"); RaisePropertyChanged("CanIsStart"); _mainWindowViewModel = mainWindowViewModel; _lobyView.Closed += _lobyView_Closed; }
public void DropLoby(Loby loby, bool isPlayer) { if (isPlayer) { _mainWindowViewModel.LobyViewModelProp._lobyView.Close(); _mainWindowViewModel.LobyViewModelProp = null; return; } _mainWindowViewModel.MainWindowViewProp.lbLoby.Items.Remove(loby); }
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); } }
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); } }
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; }
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); } } } }
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); } } } }
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(); //} }
public void CreateLoby(Loby loby) { _chanel.CreateLoby(loby); }
public void RefreshLoby(Loby loby) { _mainWindowViewModel.LobyViewModelProp._loby = loby; _mainWindowViewModel.LobyViewModelProp.Refresh(); }
public void DropLoby(Loby loby) { _chanel.DropLoby(loby); }
public void AddLoby(Loby loby) { _mainWindowViewModel.MainWindowViewProp.lbLoby.Items.Add(loby); _mainWindowViewModel.MainWindowViewProp.lbLoby.ScrollIntoView(loby); }
public void LeaveLoby(Loby loby) { _chanel.LeaveLoby(loby); }
public void ConnectToLoby(Loby loby, User user) { _chanel.ConnectToLoby(loby, user); }
public bool IsCanConnect(Loby loby) { return(_chanel.IsCanConnect(loby)); }
public void IsReady(Loby loby, bool IsCreater) { _chanel.IsReady(loby, IsCreater); }
public LoginSuccessScriptClient(Loby Owner) : base(ScriptName) { this.Owner = Owner; }
public JoinRoomFailedScriptClient(TripleThunderOnlineClient Owner, Loby ScreenOwner) : base(ScriptName) { this.Owner = Owner; this.ScreenOwner = ScreenOwner; }
public CheckPass(Loby loby) { InitializeComponent(); _loby = loby; IsTrue = false; }