示例#1
0
        public void OnLogin(object sender, LoginMessage message)
        {
            if (_connections.ContainsKey(message.GetSource().RemoteUniqueIdentifier))
            {
                var connection = _connections[message.GetSource().RemoteUniqueIdentifier];

                Guid playerId;
                var  player = ManagerPlayer.Instance.GetPlayerByConnectionId(message.GetSource().RemoteUniqueIdentifier);
                if (player == null)
                {
                    playerId = ManagerPlayer.Instance.AddPlayer(connection, message.UserName);
                }
                else
                {
                    playerId = player.Player.Id;

                    message.Message = "Player already logged";
                }

                message.Result   = true;
                message.PlayerId = playerId;
                message.SetDestinataires(new List <NetConnection>()
                {
                    connection
                });

                ManagerNetwork.Instance.Login(message);
            }
            else
            {
                throw new Exception("Connection not finded");
            }
        }