Class ship

java.lang.Object
name.moore.kevin.ze.XMLdata.XMLbase
name.moore.kevin.ze.XMLdata.ship

public class ship extends XMLbase
Process a <ship> XML element into an entity and components.
Author:
Kevin Moore <dev@kevin.moore.name>
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • DEFAULTSPEC

      private static String DEFAULTSPEC
    • spec

      Optional element in XML <spec key="S"></spec>.

      This ships specification eg "Light Frigate" - these specs are handled in shipSpec. This field contains a String reference to the specification, not it's actual EntityId so we need to do a lookup via getEntityReference()

      If this isn't specified then it is defaulted to "U" - unclassified.

      See Also:
      shipSpec
    • orbiting

      Optional element in XML <orbiting key="Sol">3</orbiting>.

      This is a String reference to another entity to be in orbit around. It will need to be resolved to a real entity via getEntityReference(). If it isn't provided then we must have a coordinate(vector2f) element.

      See Also:
      name.moore.kevin.ze.entities.entityFactory#makeEntity(name.moore.kevin.ze.XMLdata.XMLbase)
    • coord

      @XStreamConverter(SingleValueVectorConverter.class) private com.jme3.math.Vector2f coord
      Optional element in XML <coord>10,33.1</coord>. If this isn't provided we must have an orbiting element.
  • Constructor Details

    • ship

      public ship()
  • Method Details

    • getSpec

      public reference getSpec()
      Description copied from class: XMLbase
      Derived classes override if they really do want to return a spec reference.
      Overrides:
      getSpec in class XMLbase
      Returns:
    • getOrbiting

      public reference getOrbiting()
      Returns:
    • getCoord

      public com.jme3.math.Vector2f getCoord()
      Returns:
    • readResolve

      protected Object readResolve()
      Description copied from class: XMLbase
      Called automatically when loading from XML as part of JDK serialisation.

      Used to do some validation of that incoming XML by asserting that properties are set and have defaults as required. Output warning messages if a default is applied. Output error messages if a required XML element is missing and return null to indicate an invalid object.

      Overrides:
      readResolve in class XMLbase
      Returns:
      null if we can't create a valid object
    • getEntityClass

      public Class getEntityClass()
      Description copied from class: XMLbase
      Derived classes have to override this and say what class eg engine.class they are. This allows us to use this base class but discover the derived class.
      Specified by:
      getEntityClass in class XMLbase
      Returns: