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.
		
		
		
		
		
			
		
			
				
					
					
						
							87 lines
						
					
					
						
							2.8 KiB
						
					
					
				
			
		
		
	
	
							87 lines
						
					
					
						
							2.8 KiB
						
					
					
				package engine.devcmd.cmds; | 
						|
 | 
						|
import engine.Enum.BuildingGroup; | 
						|
import engine.Enum.GameObjectType; | 
						|
import engine.Enum.RunegateType; | 
						|
import engine.devcmd.AbstractDevCmd; | 
						|
import engine.math.Vector3fImmutable; | 
						|
import engine.objects.*; | 
						|
 | 
						|
public class GateInfoCmd extends AbstractDevCmd { | 
						|
       | 
						|
	public GateInfoCmd() { | 
						|
        super("gateinfo"); | 
						|
    } | 
						|
 | 
						|
        // AbstractDevCmd Overridden methods | 
						|
         | 
						|
	@Override | 
						|
	protected void _doCmd(PlayerCharacter player, String[] args, | 
						|
			AbstractGameObject target)  { | 
						|
        | 
						|
          Building targetBuilding; | 
						|
          String outString; | 
						|
          RunegateType runegateType; | 
						|
          Runegate runeGate; | 
						|
          Blueprint blueprint; | 
						|
          String newline = "\r\n "; | 
						|
          targetBuilding = (Building)target; | 
						|
          | 
						|
            if (targetBuilding.getObjectType() != GameObjectType.Building) { | 
						|
                throwbackInfo(player, "GateInfo: target must be a Building"); | 
						|
                throwbackInfo(player, "Found" + targetBuilding.getObjectType().toString()); | 
						|
                return; | 
						|
            } | 
						|
 | 
						|
            blueprint = Blueprint._meshLookup.get(targetBuilding.getMeshUUID()); | 
						|
 | 
						|
             if (blueprint == null || | 
						|
                (blueprint.getBuildingGroup() != BuildingGroup.RUNEGATE)){ | 
						|
                throwbackInfo(player, "showgate: target must be a Runegate"); | 
						|
                return; | 
						|
            } | 
						|
            | 
						|
           runegateType = RunegateType.getGateTypeFromUUID(targetBuilding.getObjectUUID()); | 
						|
           runeGate = Runegate.getRunegates()[runegateType.ordinal()]; | 
						|
                | 
						|
           outString = "RungateType: " + runegateType.name(); | 
						|
           outString += newline; | 
						|
            | 
						|
           outString += "Portal State:"; | 
						|
           outString += newline; | 
						|
            | 
						|
           for (Portal portal : runeGate.getPortals()) { | 
						|
                | 
						|
               outString += "Portal: " + portal.getPortalType().name(); | 
						|
               outString += " Active: " + portal.isActive(); | 
						|
               outString += " Dest: " + portal.getDestinationGateType().name(); | 
						|
               outString += newline; | 
						|
               outString += " Origin: " + portal.getPortalLocation().x + 'x'; | 
						|
               outString += " " + portal.getPortalLocation().y + 'y'; | 
						|
               outString += newline; | 
						|
                | 
						|
               Vector3fImmutable offset = portal.getPortalLocation().subtract(targetBuilding.getLoc()); | 
						|
               outString += " Offset: " + offset.x + "x " + offset.z + 'y'; | 
						|
               outString += newline; | 
						|
               outString += newline; | 
						|
              | 
						|
           } | 
						|
           outString += newline; | 
						|
           throwbackInfo(player, outString); | 
						|
        } | 
						|
 | 
						|
	@Override | 
						|
	protected String _getHelpString() { | 
						|
        return "Displays a runegate's gate status"; | 
						|
	} | 
						|
 | 
						|
	@Override | 
						|
	protected String _getUsageString() { | 
						|
 | 
						|
 | 
						|
        return "/gateinfo <target runegate> \n"; | 
						|
	} | 
						|
 | 
						|
  | 
						|
         | 
						|
}
 | 
						|
 |