Beispiel #1
0
 // Set testing
 // Second practice is same type as testing
 public void SetTesting(PhaseTypes t)
 {
     myPhases [(int)PhaseNames.Rest2].Name = "Rest Phase";
     if (t == PhaseTypes.CW4)
     {
         myPhases [(int)PhaseNames.Practice2].Name = "CW4 Practice Phase";
         myPhases [(int)PhaseNames.Test].Name      = "CW4 Test Phase";
     }
     else
     {
         myPhases [(int)PhaseNames.Practice2].Name = "Resetting Practice Phase";
         myPhases [(int)PhaseNames.Test].Name      = "Resetting Test Phase";
     }
 }
Beispiel #2
0
 // Set learning
 // First practice is same type as learning
 public void SetLearning(PhaseTypes t)
 {
     myPhases [(int)PhaseNames.Rest1].Name = "Rest Phase";
     if (t == PhaseTypes.CW4)
     {
         myPhases [(int)PhaseNames.Practice1].Name = "CW4 Practice Phase";
         myPhases [(int)PhaseNames.Learning].Name  = "CW4 Learning Phase";
     }
     else
     {
         myPhases [(int)PhaseNames.Practice1].Name = "Resetting Practice Phase";
         myPhases [(int)PhaseNames.Learning].Name  = "Resetting Learning Phase";
     }
 }
Beispiel #3
0
        private void CommonMuteControl(MuteType muteType)
        {
            _logger.LogDebug($"Game({_game.Code.Code}) mute task start.");
            var mtasks = new List <Task>();

            foreach (var user in _guildMembersInVC.Values)
            {
                var nextMuteState = CreateNextMuteState(user, muteType);
                if (NeedMuteControl(user, nextMuteState))
                {
                    mtasks.Add(user.ModifyAsync(x =>
                    {
                        x.Mute = nextMuteState.Mute;
                        x.Deaf = nextMuteState.Deaf;
                    }));
                }
            }
            try
            {
                Task.WhenAll(mtasks);
            }
            catch (Exception e)
            {
                LogStackTrace(e, "CommonMuteControl");
            }
            _delayTimer?.Stop();
            _delayTimer?.Dispose();
            _delayTimer = null;

            // Change current phase
            switch (muteType)
            {
            case MuteType.TaskPhase:
                _phase = PhaseTypes.Task;
                break;

            case MuteType.MeetingPhase:
                _phase = PhaseTypes.Meeting;
                break;

            case MuteType.Default:
                _phase = PhaseTypes.Lobby;
                break;
            }

            PutInternalInfo();
            UpdateEmbedMonitor();
        }
Beispiel #4
0
        internal MuteController(
            ILogger <Discostor> logger,
            IGame game,
            SocketGuildUser user,
            DiscordBotConfig config,
            EmoteManager emoteManager)
        {
            _logger       = logger;
            _game         = game;
            _config       = config;
            _emoteManager = emoteManager;
            VoiceChannel  = user.VoiceChannel;

            _phase = PhaseTypes.Unknown;
            if (game.GameState != GameStates.Started)
            {
                _phase = PhaseTypes.Lobby;
            }

            // add players
            using (_logger.BeginScope("players"))
            {
                _logger.LogDebug($"Game \"{game.Code.Code}\" players:");
                foreach (var player in _game.Players)
                {
                    _players[player.Client.Id] = player;
                    _isDead[player.Client.Id]  = player.Character.PlayerInfo.IsDead;
                    _logger.LogDebug($"  {player.Character.PlayerInfo.PlayerName}");
                }
            }
            // add vc members
            using (_logger.BeginScope("vc-members"))
            {
                _logger.LogDebug($"VC \"{VoiceChannel.Name}\" members:");

                foreach (var vcuser in user.VoiceChannel.Users)
                {
                    _guildMembersInVC[vcuser.Id] = vcuser;
                    _defaultVCProps[vcuser.Id]   = CreateCurrentMuteState(vcuser);
                    _logger.LogDebug($"  {vcuser.Username}");
                }
            }
            _logger.LogDebug($"MuteController created.");
        }