Пример #1
0
        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();
        }
Пример #2
0
 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();
 }
Пример #3
0
        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);
        }