package engine.devcmd.cmds; import engine.Enum.GameObjectType; import engine.devcmd.AbstractDevCmd; import engine.math.Vector3fImmutable; import engine.objects.AbstractGameObject; import engine.objects.Building; import engine.objects.PlayerCharacter; public class ShowOffsetCmd extends AbstractDevCmd { public ShowOffsetCmd() { super("showoffset"); } // AbstractDevCmd Overridden methods @Override protected void _doCmd(PlayerCharacter pc, String[] args, AbstractGameObject target) { Building targetBuilding; String outString; Vector3fImmutable offset; String newline = "\r\n "; targetBuilding = (Building)target; if (targetBuilding.getObjectType() != GameObjectType.Building) { throwbackInfo(pc, "showgate: target must be an Building"); return; } offset = pc.getLoc().subtract(targetBuilding.getLoc()); outString = "Location: " + pc.getLoc().x + "x " + pc.getLoc().z + 'y'; outString += newline; outString += "Offset: " + offset.x + "x " + offset.y + 'y'; throwbackInfo(pc, outString); } @Override protected String _getHelpString() { return "Shows offset to current building"; } @Override protected String _getUsageString() { return "Shows offset to current building"; } }