public LobbyClient() : base() { Factory.Instance.Register(typeof(Game), () => { return new Game(); }); m_Instance = this; m_EmptyGame = new ClientGame(new Game(), this, null); }
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; } } }
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); }
public LobbyClient() : base() { Factory.Instance.Register(typeof(Game), () => { return(new Game()); }); m_Instance = this; m_EmptyGame = new ClientGame(new Game(), this, null); }