protected void WrapClientPeer(IClientPeer clientPeer, IPeerLogicBase peerLogic) { var idGenerator = ServerComponents.GetComponent <IIdGenerator>().AssertNotNull(); var peerId = idGenerator.GenerateId(); var clientPeerWrapper = new ClientPeerWrapper(clientPeer, peerId); clientPeerWrapper.SetPeerLogic(peerLogic); peerContainer.AddPeerLogic(clientPeerWrapper); }
private void OnCharacterSelected(CharacterParameters?character) { if (character.HasValue) { ClientPeerWrapper.SetPeerLogic(new GameScenePeerLogic(userId, character.Value)); } else { var ip = ClientPeerWrapper.Peer.ConnectionInformation.Ip; var peerId = ClientPeerWrapper.PeerId; LogUtils.Log(MessageBuilder.Trace($"A peer {ip} with id #{peerId} does not have character but trying to enter with character.")); ClientPeerWrapper.Peer.Disconnect(); } }
private void OnAuthorized(int userId) { var newPeerLogic = Activator.CreateInstance(typeof(TNewPeerLogic), userId) as TNewPeerLogic; ClientPeerWrapper.SetPeerLogic(newPeerLogic); }
private void OnAuthorized() { ClientPeerWrapper.SetPeerLogic(new TNewPeerLogic()); }