示例#1
0
    public static void Mine(TwitchModule module, string user, bool isWhisper)
    {
        if (isWhisper)
        {
            IRCConnection.SendMessage($"@{user}, using mine on modules is not allowed in whispers.", user, false);
            return;
        }

        // The module belongs to this user and there’s a takeover attempt in progress: cancel the takeover attempt
        if (module.PlayerName == user && module.TakeInProgress != null)
        {
            IRCConnection.SendMessageFormat(TwitchPlaySettings.data.ModuleIsMine, module.PlayerName, module.Code, module.HeaderText);
            module.StopCoroutine(module.TakeInProgress);
            module.TakeInProgress = null;
            module.TakeUser       = null;
        }

        // The module isn’t claimed: just claim it
        else if (module.PlayerName == null)
        {
            IRCConnection.SendMessage(module.TryClaim(user).Message);
        }

        // Someone else has a claim on the module
        else if (module.PlayerName != user)
        {
            IRCConnection.SendMessageFormat(TwitchPlaySettings.data.AlreadyClaimed, module.Code, module.PlayerName, user, module.HeaderText);
        }

        // If the user has a claim on the module but there’s no takeover attempt, just ignore this command
    }
示例#2
0
    private static void ClaimViewOrPin(TwitchModule module, string user, bool isWhisper, bool view, bool pin)
    {
        if (isWhisper)
        {
            IRCConnection.SendMessage($"@{user}, claiming modules is not allowed in whispers.", user, false);
            return;
        }

        IRCConnection.SendMessage(module.TryClaim(user, view, pin).Message);
    }
示例#3
0
    public static void Take(TwitchModule module, string user, bool isWhisper)
    {
        if (isWhisper)
        {
            IRCConnection.SendMessage($"@{user}, taking modules is not allowed in whispers.");
        }
        else if (TwitchPlaySettings.data.AnarchyMode)
        {
            IRCConnection.SendMessage($"@{user}, taking modules is not allowed in anarchy mode.");
        }

        // Module is already claimed by the same user
        else if (module.PlayerName == user)
        {
            IRCConnection.SendMessageFormat(TwitchPlaySettings.data.ModuleAlreadyOwned, user, module.Code, module.HeaderText);
        }

        // Module is not claimed at all: just claim it
        else if (module.PlayerName == null)
        {
            IRCConnection.SendMessage(module.TryClaim(user).Message);
        }

        // Attempt to take over from another user
        else
        {
            module.AddToClaimQueue(user);
            if (module.TakeInProgress != null)
            {
                IRCConnection.SendMessageFormat(TwitchPlaySettings.data.TakeInProgress, user, module.Code, module.HeaderText);
            }
            else
            {
                IRCConnection.SendMessageFormat(TwitchPlaySettings.data.TakeModule, module.PlayerName, user, module.Code, module.HeaderText);
                module.TakeUser       = user;
                module.TakeInProgress = module.StartCoroutine(module.ProcessTakeover());
            }
        }
    }