You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.0 KiB
86 lines
2.0 KiB
package engine.devcmd.cmds; |
|
|
|
import engine.devcmd.AbstractDevCmd; |
|
import engine.objects.AbstractGameObject; |
|
import engine.objects.PlayerCharacter; |
|
import engine.server.MBServerStatics; |
|
|
|
/** |
|
* @author |
|
* Summary: Devcmd to toggle logging of application protocol messages |
|
* |
|
*/ |
|
|
|
public class NetDebugCmd extends AbstractDevCmd { |
|
|
|
// Instance variables |
|
|
|
|
|
public NetDebugCmd() { |
|
super("netdebug"); |
|
} |
|
|
|
|
|
// AbstractDevCmd Overridden methods |
|
|
|
@Override |
|
protected void _doCmd(PlayerCharacter pc, String[] args, |
|
AbstractGameObject target) { |
|
|
|
Boolean debugState = false; |
|
|
|
if(validateUserInput(args) == false) { |
|
this.sendUsage(pc); |
|
return; |
|
} |
|
|
|
// Arguments have been validated use argument to set debug state |
|
|
|
switch (args[0]) { |
|
case "on": |
|
debugState = true; |
|
break; |
|
case "off": |
|
debugState = false; |
|
break; |
|
default: |
|
break; |
|
} |
|
|
|
MBServerStatics.DEBUG_PROTOCOL = debugState; |
|
|
|
// Send results to user |
|
throwbackInfo(pc, "Network debug state: " + debugState.toString()); |
|
} |
|
|
|
@Override |
|
protected String _getHelpString() { |
|
return "Toggles sending network messages to log"; |
|
} |
|
|
|
@Override |
|
protected String _getUsageString() { |
|
return "/netdebug on|off"; |
|
} |
|
|
|
// Class methods |
|
|
|
private static boolean validateUserInput(String[] userInput) { |
|
|
|
int stringIndex; |
|
String commandSet = "onoff"; |
|
|
|
// incorrect number of arguments test |
|
|
|
if (userInput.length != 1) |
|
return false; |
|
|
|
// Validate arguments |
|
|
|
stringIndex = commandSet.indexOf(userInput[0].toLowerCase()); |
|
|
|
return stringIndex != -1; |
|
} |
|
|
|
|
|
}
|
|
|