diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java index d7dfc054894f3d7a3211a0afbf0e04c37de4a595..6e1aa5665cca4170eed2ec42eec7d2872a4fbbf7 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Crew/Crew.java @@ -1,6 +1,7 @@ package com.galaxytrucker.galaxytruckerreloaded.Model.Crew; import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Room; +import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.Tile; import lombok.*; import javax.persistence.*; @@ -53,6 +54,10 @@ public class Crew implements Serializable { @OneToOne private Room currentRoom; + /** Tile the crew member is standing on */ + @OneToOne + private Tile tile; + /** * The price of the different crew-members */ diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java index 71331091e6565da7f5a1e9eb4a02d2eeda3e6e7e..9b143e022cad743455e52e4570cd4de3afafa7d9 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java @@ -4,13 +4,11 @@ package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout; import com.galaxytrucker.galaxytruckerreloaded.Model.Crew.Crew; import lombok.*; -import javax.persistence.CascadeType; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.OneToMany; +import javax.persistence.*; import java.io.Serializable; import java.util.List; +/** Rooms make up the spaceship */ @Getter @Setter @Entity @@ -60,4 +58,9 @@ public abstract class Room implements Serializable { @NonNull @OneToMany(cascade = CascadeType.ALL) private List<Crew> crew; + + /** Tiles the room is made out of */ + @NonNull + @OneToMany(cascade = CascadeType.ALL) + private List<Tile> tiles; } diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Tile.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Tile.java new file mode 100644 index 0000000000000000000000000000000000000000..1b56c202004dd68320c9debe076637d205fb9467 --- /dev/null +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Tile.java @@ -0,0 +1,39 @@ +package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout; + +import com.galaxytrucker.galaxytruckerreloaded.Model.Crew.Crew; +import lombok.*; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.OneToOne; +import java.io.Serializable; + +/** Tiles make up the rooms */ +@NoArgsConstructor(access = AccessLevel.PUBLIC) +@RequiredArgsConstructor(access = AccessLevel.PUBLIC) +@Getter +@Setter +@Entity +public class Tile implements Serializable { + + /** ID */ + @Id @NonNull + private int id; + + /** Position x in room */ + @NonNull + private int posX; + + /** Position y in room */ + @NonNull + private int posY; + + /** Crew member on this tile */ + @OneToOne + private Crew standingOnMe = null; + + /** If the tile is empty */ + public boolean isEmpty(){ + return standingOnMe != null; + } +}