Files
NodeCames/src/main/java/com/bernard/nodecames/model/World.java
T

62 lines
1.2 KiB
Java

package com.bernard.nodecames.model;
import java.util.UUID;
import jakarta.persistence.Embeddable;
import jakarta.persistence.EmbeddedId;
import jakarta.persistence.Entity;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.MapsId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@Entity
@NoArgsConstructor
public class World {
@EmbeddedId
WorldId id;
@MapsId("gameId")
@ManyToOne
Game game;
// Config used when resetting this world
GridConfig initialConfig;
@ManyToOne(optional = true)
Grid currentGrid;
boolean won;
boolean locked;
public World(Game g, String name, GridConfig initConfig, Grid currentGrid, boolean won, boolean locked) {
this.id = new WorldId(g.getId(), name);
this.game = g;
this.initialConfig = initConfig;
this.currentGrid = currentGrid;
this.won = won;
this.locked = locked;
}
public String getName() {
return this.getId().getName();
}
@Data
@NoArgsConstructor
@AllArgsConstructor
@Embeddable
public static class WorldId {
UUID gameId;
String name;
}
}