public static void Mine(TwitchModule module, string user, bool isWhisper) { if (isWhisper) { IRCConnection.SendMessage($"Sorry {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; } // The module isn’t claimed: just claim it else if (module.PlayerName == null) { IRCConnection.SendMessage(module.ClaimModule(user).Second); } // 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 }
private static void ClaimViewOrPin(TwitchModule module, string user, bool isWhisper, bool view, bool pin) { if (isWhisper) { IRCConnection.SendMessage($"Sorry {user}, claiming modules is not allowed in whispers", user, false); return; } var result = module.ClaimModule(user); IRCConnection.SendMessage(result.Second); if (result.First && view) { module.ViewPin(user, pin); } }
public static void Take(TwitchModule module, string user, bool isWhisper) { if (isWhisper) { IRCConnection.SendMessageFormat("Sorry {0}, taking modules is not allowed in whispers.", user); } else if (TwitchPlaySettings.data.AnarchyMode) { IRCConnection.SendMessageFormat("Sorry {0}, taking modules is not allowed in anarchy mode.", user); } // Attempt to take over from another user else if (module.PlayerName != null && user != module.PlayerName) { module.AddToClaimQueue(user); if (module.TakeInProgress == null) { IRCConnection.SendMessageFormat(TwitchPlaySettings.data.TakeModule, module.PlayerName, user, module.Code, module.HeaderText); module.TakeInProgress = module.TakeModule(); module.StartCoroutine(module.TakeInProgress); } else { IRCConnection.SendMessageFormat(TwitchPlaySettings.data.TakeInProgress, user, module.Code, module.HeaderText); } } // Module is already claimed by the same user else if (module.PlayerName != null) { if (!module.PlayerName.Equals(user)) { module.AddToClaimQueue(user); } IRCConnection.SendMessageFormat(TwitchPlaySettings.data.ModuleAlreadyOwned, user, module.Code, module.HeaderText); } // Module is not claimed at all: just claim it else { IRCConnection.SendMessage(module.ClaimModule(user).Second); } }