public static void ExcecuteCommand(IRocketPlayer player, string[] args) { if (TryGetCommand(args[0], out IGunGameCommand cmd)) { if (!player.HasGGPermissionFor(cmd) && !player.IsAdmin) { throw new GunGameException(cmd.PermissionLevel); } ECommandTiming current; if (GameManager.isRunning) { current = ECommandTiming.RUNNING; } else if (GameManager.isStopped) { current = ECommandTiming.STOPPED; } else { current = ECommandTiming.WAITING; } if (!cmd.CommandTiming.HasFlags(current)) { throw new GunGameException(cmd.CommandTiming); } string[] _args = new string[args.Length - 1]; for (int i = 1; i < args.Length; i++) { _args[i - 1] = args[i]; } cmd.Execute(player, _args); } else { throw new GunGameException(EExceptionType.INVALID_CMD); } }
public void Execute(IRocketPlayer caller, string[] args) { if (args.Length != 1) { throw new GunGameException(EExceptionType.INVALID_ARGS); } if (CommandManager.TryGetCommand(args[0], out IGunGameCommand cmd)) { if (caller.HasGGPermissionFor(cmd)) { GunGame.Say(caller, "help", Color.green, args[0], cmd.Help); } else { GunGame.Say(caller, "invalid_perms_help", Color.red); } } else { GunGame.Say(caller, "invalid_cmd_help", Color.red); } }