Esempio n. 1
0
 public LobbyClient()
     : base()
 {
     Factory.Instance.Register(typeof(Game), () => { return new Game(); });
     m_Instance = this;
     m_EmptyGame = new ClientGame(new Game(), this, null);
 }
Esempio n. 2
0
        private void OnObserverRemoved(PacketMatchNotification note)
        {
            if (CurrentGame == null)
            {
                return;
            }

            // Update Observer objects
            lock (CurrentGame.AllObserversSyncRoot)
            {
                if (note.TheGame != null) // sync all observer objects
                {
                    CurrentGame.Observers = note.TheGame.Observers;
                }

                if (note.TargetPlayer != null) // update target player object
                {
                    // update the toon with the incoming data
                    CurrentGame.Observers.Remove(note.TargetPlayer.ID);
                }
                CurrentGame.AllObservers = (List <ICharacterInfo>)CurrentGame.Observers.Values.ToList <ICharacterInfo>();
            }

            Log.LogMsg("Player [" + note.TargetPlayer != null ? note.TargetPlayer.CharacterName : "Some Player" + "] STOPPED OBSERVING game [" + note.TheGameID + "]");
            FireObserverRemoved(note.ReplyMessage, this, note.TargetPlayer as CharacterInfo, note.TheGame as Game, note.Parms);

            if (Client.Instance.User != null && Client.Instance.User.CurrentCharacter != null)
            {
                if (Client.Instance.User.CurrentCharacter.ID == note.TargetPlayer.ID) // did I get removed?
                {
                    // yes, i was removed from the game. we are no longer part of a game.
                    CurrentGame = null;
                }
            }
        }
Esempio n. 3
0
 protected override void OnServerLoginResponse(PacketLoginResult packetLoginResult)
 {
     if (packetLoginResult.ReplyCode == ReplyType.OK)
     {
         Game g = packetLoginResult.Parms.GetWispProperty("TargetGame") as Game;
         if (g != null)
         {
             CurrentGame = FireGameActivating(this, g);
         }
     }
     base.OnServerLoginResponse(packetLoginResult);
 }
        private void OnPlayerRemovedFromGame(PacketMatchNotification note)
        {
            if (CurrentGame == null)
            {
                return;
            }

            // Update player objects
            lock (CurrentGame.AllPlayersSyncRoot)
            {
                if (note.TheGame != null) // sync all player objects
                {
                    CurrentGame.Players = note.TheGame.Players;
                }

                if (note.TargetPlayer != null) // update target player object
                {
                    // update the toon with the incoming data
                    CurrentGame.Players.Remove(note.TargetPlayer.ID);
                }

                CurrentGame.AllPlayers = (List<ICharacterInfo>)CurrentGame.Players.Values.ToList<ICharacterInfo>();
            }

            Log.LogMsg("Player [" + note.TargetPlayer != null ? note.TargetPlayer.CharacterName : "Some Player" + "] STOPPED PLAYING game [" + note.TheGameID + "]");
            FirePlayerRemoved( note.ReplyMessage, this, note.TargetPlayer as CharacterInfo, note.TheGame as Game, note.Parms);

            if (Client.Instance.User != null && Client.Instance.User.CurrentCharacter != null)
            {
                if (Client.Instance.User.CurrentCharacter.ID == note.TargetPlayer.ID) // did I get removed?
                {
                    // yes, i was removed from the game. we are no longer part of a game.
                    CurrentGame = null;
                }
            }
        }
 private void OnGameEnded(PacketMatchNotification note)
 {
     FireGameEnded(this, note.TheGame.Properties, note.ReplyMessage);
     this.CurrentGame = null;
 }
 protected override void OnSocketKilled(string msg)
 {
     CurrentGame = null;
     base.OnSocketKilled(msg);
 }
 protected override void OnServerLoginResponse(PacketLoginResult packetLoginResult)
 {
     if (packetLoginResult.ReplyCode == ReplyType.OK)
     {
         Game g = packetLoginResult.Parms.GetWispProperty("TargetGame") as Game;
         if (g != null)
         {
             CurrentGame = FireGameActivating(this, g);
         }
     }
     base.OnServerLoginResponse(packetLoginResult);
 }
Esempio n. 8
0
 public LobbyClient() : base()
 {
     Factory.Instance.Register(typeof(Game), () => { return(new Game()); });
     m_Instance  = this;
     m_EmptyGame = new ClientGame(new Game(), this, null);
 }
Esempio n. 9
0
 protected override void OnSocketKilled(string msg)
 {
     CurrentGame = null;
     base.OnSocketKilled(msg);
 }
Esempio n. 10
0
 private void OnGameEnded(PacketMatchNotification note)
 {
     FireGameEnded(this, note.TheGame.Properties, note.ReplyMessage);
     this.CurrentGame = null;
 }