Explorar el Código

base for leaving

Yorick Rommers hace 10 años
padre
commit
8590866200
Se han modificado 2 ficheros con 22 adiciones y 1 borrados
  1. 12 1
      YJMPD-UWP/Model/ApiHandler.cs
  2. 10 0
      YJMPD-UWP/Model/GameHandler.cs

+ 12 - 1
YJMPD-UWP/Model/ApiHandler.cs

@@ -22,7 +22,8 @@ namespace YJMPD_UWP.Model
             Picture,
             Msg,
             GameFound,
-            PlayerJoined
+            PlayerJoined,
+            PlayerRemoved
         }
 
         public ApiHandler()
@@ -44,6 +45,10 @@ namespace YJMPD_UWP.Model
                     Debug.WriteLine("Played joined");
                     PlayerJoined(o[Command.PlayerJoined.ToString()].ToString());
                     break;
+                case Command.PlayerRemoved:
+                    Debug.WriteLine("Played removed");
+                    PlayerRemoved(o[Command.PlayerRemoved.ToString()].ToString());
+                    break;
                 case Command.Picture:
                     if (o["selected"].ToObject<bool>() == true)
                     {
@@ -64,6 +69,12 @@ namespace YJMPD_UWP.Model
             App.Game.AddPlayer(username);
         }
 
+        private void PlayerRemoved(string username)
+        {
+            //Event will be handled by the game manager
+            App.Game.RemovePlayer(username);
+        }
+
         private void GameFound()
         {
             throw new NotImplementedException();

+ 10 - 0
YJMPD-UWP/Model/GameHandler.cs

@@ -54,6 +54,16 @@ namespace YJMPD_UWP.Model
             UpdateGamePlayers(p);
         }
 
+        public void RemovePlayer(string username)
+        {
+            Players.ForEach(p => {
+                if(p.Username == username)
+                {
+                    Players.Remove(p);
+                }
+            });
+        }
+
         public void Reset()
         {
             Players.Clear();