public override bool TryParseCommand(string rawData, out string[] args) { args = null; var cmdArgs = new List <string>(); DestructuredChatCommand chatCommand = null; bool isChatCommand = ChatCommander.TryParseCommand(rawData, out chatCommand); if (!isChatCommand) { return(false); } bool isThisCommand = chatCommand.Command.StartsWith(Token); if (isThisCommand) { // !READFEEDBACK [Empty | Player | HELP] string parsedCommand = chatCommand.Command.ToUpper(); // Step 1 - Move past the command invocation... cmdArgs.Add(chatCommand.SourcePlayerName); parsedCommand = parsedCommand.Replace($"{Token}", string.Empty); // Step 2 - Trim what's left, look at what the string starts with. parsedCommand = parsedCommand.Trim(); string[] remainingParts = parsedCommand.Split(' '); string firstPart = remainingParts[0]; if (string.IsNullOrEmpty(firstPart)) { // Empty usage; this is valid. Call it here. } else if (firstPart.ToUpper().StartsWith("HELP")) { cmdArgs.Add("HELP"); } else { cmdArgs.Add(firstPart); } args = cmdArgs.ToArray(); } return(isThisCommand); }
public override bool TryParseCommand(string rawData, out string[] args) { args = null; var cmdArgs = new List <string>(); DestructuredChatCommand chatCommand = null; bool isChatCommand = ChatCommander.TryParseCommand(rawData, out chatCommand); if (!isChatCommand) { return(false); } bool isThisCommand = chatCommand.Command.StartsWith(Token); if (isThisCommand) { // !REMOVEBOUNTY [PlayerName] // Step 1 - Move past the command invocation... cmdArgs.Add(chatCommand.SourcePlayerName); var parsedCommand = chatCommand.Command.Replace($"{Token} ", string.Empty); var parts = parsedCommand.Split(' '); if (parts.Length != 2) { cmdArgs.Add("HELP"); } else { string targetPlayerName = parts[0]; cmdArgs.Add(targetPlayerName); string value = parts[1]; cmdArgs.Add(value); } args = cmdArgs.ToArray(); } return(isThisCommand); }
public override bool TryParseCommand(string rawData, out string[] args) { args = null; var cmdArgs = new List <string>(); DestructuredChatCommand chatCommand = null; bool isChatCommand = ChatCommander.TryParseCommand(rawData, out chatCommand); if (!isChatCommand) { return(false); } bool isThisCommand = chatCommand.Command.StartsWith(Token); if (isThisCommand) { // !REMOVEBOUNTY [PlayerName] // Step 1 - Move past the command invocation... cmdArgs.Add(chatCommand.SourcePlayerName); var parsedCommand = chatCommand.Command.Replace($"{Token} ", string.Empty); // Step 2 - Use what's left as the argument. // If nothing's left, use the HELP keyword instead. if (string.IsNullOrEmpty(parsedCommand)) { cmdArgs.Add("HELP"); } else { cmdArgs.Add(parsedCommand); } args = cmdArgs.ToArray(); } return(isThisCommand); }
public override bool TryParseCommand(string rawData, out string[] args) { args = null; var cmdArgs = new List <string>(); DestructuredChatCommand chatCommand = null; bool isChatCommand = ChatCommander.TryParseCommand(rawData, out chatCommand); if (!isChatCommand) { return(false); } bool isThisCommand = chatCommand.Command.StartsWith(Token); if (isThisCommand) { // !REMOVESHIP [ShipName] // Step 1 - Remove token... cmdArgs.Add(chatCommand.SourcePlayerName); var parsedCommand = chatCommand.Command.Replace($"{Token} ", string.Empty); if (string.IsNullOrWhiteSpace(parsedCommand) || parsedCommand.Trim().ToLower() == "help") { cmdArgs.Add("HELP"); } else { string shipName = parsedCommand.Trim(); cmdArgs.Add(shipName); } args = cmdArgs.ToArray(); } return(isThisCommand); }