Example #1
0
        public LoginResult Login(ClienNetworkManager client, PacketLoginRequest packet)
        {
            ChatUserServer user = null;

            lock (this.Users)
            {
                if (this.Users.Any(u => u.LoginToken.Equals(packet.LoginToken)) == true)
                {
                    return(new LoginResult()
                    {
                        ErrorMessage = "Already Logined Account"
                    });
                }
                else
                {
                    var sessionToken = Guid.NewGuid().ToString();
                    user             = new ChatUserServer(packet.LoginToken, sessionToken, client);
                    user.DisplayName = packet.DisplayName;
                    this.Users.Add(user);

                    this.OnLogined(user);

                    return(new LoginResult()
                    {
                        User = user
                    });
                }
            }
        }
        public PacketHandlerServer(ClienNetworkManager client, ChatUserServer user)
        {
            this.Client = client;
            this.User   = user;

            this.LastKeepAliveTicks = 0L;
            this.KeepAliveInterval  = 50;
            this.Ping = 0L;
        }
Example #3
0
        public void Logout(ChatUserServer user)
        {
            if (user != null)
            {
                lock (this.Users)
                {
                    this.Users.Remove(user);
                }

                this.OnLogouted(user);
            }
        }
Example #4
0
 protected virtual void OnLogouted(ChatUserServer user)
 {
     this.Logouted?.Invoke(this, user);
 }
Example #5
0
 protected virtual void OnLoginSuccess(ChatUserServer user)
 {
     this.LoginSuccess?.Invoke(this, user);
 }
Example #6
0
 private void OnUserManagerLogouted(object sender, ChatUserServer user)
 {
     this.Broadcast($"[{user.DisplayName}] Logout");
 }
Example #7
0
 private void OnLoginSuccess(object sender, ChatUserServer user)
 {
     this.Handler = new PacketHandlerServer(this, user);
 }