Esempio n. 1
0
        private async void startGameButton_Click(object sender, EventArgs e)
        {
            RadioButton host = hostSelectionRadio;
            RadioButton join = joinSelectionRadio;

            RoomsService.RoomResponse rs = new RoomsService.RoomResponse();

            if (host.Checked)
            {
                if (roomSize.SelectedItem != null)
                {
                    var roomSizeVal = Convert.ToInt32(roomSize.SelectedItem.ToString());
                    rs = await Service.HostRoom(ar.Token, roomSizeVal);
                }
                else
                {
                    return;
                }
            }
            else if (join.Checked)
            {
                var roomIdVal = roomId.Text;
                rs = await Service.JoinRoom(ar.Token, roomIdVal);
            }

            GameSubject gameSubject = new GameSubject();

            gameSubject.StartObserving(ar.Token, rs.Id);
            gameSubject.StartObservingGame(ar.Token, rs.Id);

            Game g = new Game(rs, ar.Token, gameSubject);

            this.Hide();
            g.Show();
        }
 /// <summary>
 /// Start observing a GameSubject.
 /// </summary>
 /// <param name="subject">The GameSubject to be observed.</param>
 public void register(GameSubject subject)
 {
     if (!subjects.Contains(subject))
     {
         subjects.Add(subject);
         subject.registerObserver(this);
     }
 }
Esempio n. 3
0
 public Game(RoomsService.RoomResponse rr, string token, GameSubject gs)
 {
     InitializeComponent();
     RestartGame();
     RoomResponse = rr;
     gameSubject  = gs;
     gameSubject.Attach(this);
 }
 /// <summary>
 /// Stop observing a GameSubject.
 /// </summary>
 /// <param name="subject">The GameSubject to stop observing.</param>
 public void unregister(GameSubject subject)
 {
     subject.unregisterObserver(this);
     subjects.Remove(subject);
 }