package ring.movement; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import ring.nrapi.business.BusinessObject; import ring.persistence.RingConstants; /** * This class is used to group Rooms and Portals together for use by the * LocationManager and storage in the database. It is not typically declared * in game code. The only place it will generally be found in user code is in * Python data files. * @author projectmoon * */ @XmlAccessorType(XmlAccessType.PROPERTY) @XmlRootElement @XmlType( namespace = RingConstants.RING_NAMESPACE, propOrder= { "room", "exits" }) public class Location extends BusinessObject { private Room room; private List<Portal> exits = new ArrayList<Portal>(); public Location() {} @XmlElement public Room getRoom() { return room; } public void setRoom(Room room) { this.room = room; } @XmlElement(name = "exit") public List<Portal> getExits() { return exits; } public void setExits(List<Portal> exits) { this.exits = exits; } public void addExit(Portal port) { exits.add(port); } }