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; }
public void Logout(ChatUserServer user) { if (user != null) { lock (this.Users) { this.Users.Remove(user); } this.OnLogouted(user); } }
protected virtual void OnLogouted(ChatUserServer user) { this.Logouted?.Invoke(this, user); }
protected virtual void OnLoginSuccess(ChatUserServer user) { this.LoginSuccess?.Invoke(this, user); }
private void OnUserManagerLogouted(object sender, ChatUserServer user) { this.Broadcast($"[{user.DisplayName}] Logout"); }
private void OnLoginSuccess(object sender, ChatUserServer user) { this.Handler = new PacketHandlerServer(this, user); }