private static async Task LeaveServer(int serverId) { await HubManager.SendExitServerSignalAsync(serverId); await HubManager.SendExitChannelSignalAsync(Inventory.CurrentChannel.ChannelId); //User group MessageManager.ClearContent(); ChannelManager.ClearContent(); RoleManager.ClearContent(); ServerManager.RemoveServer(serverId); Inventory.ClearCurrentServer(); }
public static async Task TearDownAsync() { ServerManager.TearDown(); ChannelManager.TearDown(); RoleManager.TearDown(); MessageManager.TearDown(); UserManager.TearDown(); if (Inventory.CurrentChannel != null) { await HubManager.SendExitChannelSignalAsync(Inventory.CurrentChannel.ChannelId); } if (Inventory.CurrentServer != null) { await HubManager.SendExitServerSignalAsync(Inventory.CurrentServer.ServerId); } Inventory.Clear(); UnregisterMemberEvent(); }
private static async void ServerManager_ServerChanged(object sender, ServerManager.ServerChangedArgs e) { Role userRoleInCurrentServer = await ResourcesCreator.GetUserRoleInCurrentServerAsync(Inventory.CurrentUser.UserId, e.Now.ServerId); Inventory.SetUserRoleInCurrentServer(userRoleInCurrentServer); if (Inventory.CurrentChannel != null) { await HubManager.SendExitChannelSignalAsync(Inventory.CurrentChannel.ChannelId); Inventory.ClearCurrentChannel();// ???? } if (e.Previous != null) { await HubManager.SendExitServerSignalAsync(e.Previous.ServerId); } await HubManager.SendEnterServerSignalAsync(e.Now.ServerId); MessageManager.ClearContent(); RoleManager.ChangeServer(e.Previous, e.Now); ChannelManager.ChangeServer(e.Previous, e.Now); }