Skip to content
Snippets Groups Projects
Commit 2bc884fc authored by Leonard's avatar Leonard
Browse files

model done

parent b6ed9a81
No related branches found
No related tags found
No related merge requests found
Showing
with 180 additions and 28 deletions
File deleted
No preview for this file type
No preview for this file type
No preview for this file type
package com.galaxytrucker.galaxytruckerreloaded.Model.Crew;
import com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout.System;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.*;
......@@ -47,4 +48,12 @@ public class Crew {
@DatabaseField(columnName = "stats")
@NonNull
private int[] stats;
/**
* The system this crew member is in
*/
@DatabaseField(foreign = true, columnName = "system")
@NonNull
private System currentSystem;
}
package com.galaxytrucker.galaxytruckerreloaded.Model.Map;
import com.j256.ormlite.field.DatabaseField;
import lombok.NonNull;
import java.io.Serializable;
import java.util.HashMap;
public class Overworld {
public class Overworld implements Serializable {
/** Username used as ID */
@NonNull
@DatabaseField(columnName = "user",id = true)
private String associatedUser;
/** Stores planet and their location on the map */
@NonNull
@DatabaseField(columnName = "planetMap")
private HashMap<float[],Planet> planetMap;
/** Constructor */
public Overworld(int seed) {
planetMap = new HashMap<>();
}
......
......@@ -9,7 +9,7 @@ import java.io.Serializable;
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
public abstract class Planet implements Serializable {
public class Planet implements Serializable {
/** Planet name */
@DatabaseField(id = true,columnName = "name")
......@@ -29,5 +29,5 @@ public abstract class Planet implements Serializable {
/** Ereignis dass auf diesem Planeten eintrifft */
@DatabaseField(columnName = "event")
@NonNull
private PlanetEvent event;
private PlanetEvent event;
}
package com.galaxytrucker.galaxytruckerreloaded.Model.Map;
public enum PlanetEvent {
COMBAT,VOID,SHOP,BOSS,MINIBOSS,NEBULA,METEORSHOWER,PVP
}
package com.galaxytrucker.galaxytruckerreloaded.Model.Map;
import com.badlogic.gdx.scenes.scene2d.ui.List;
import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
@DatabaseTable
public class Trader extends Planet implements Serializable {
/** Weapons for sale */
@DatabaseField(foreign = true)
@NonNull
private List<Weapon> weaponsForSale;
}
package com.galaxytrucker.galaxytruckerreloaded.Model;
import com.badlogic.gdx.scenes.scene2d.ui.List;
import com.galaxytrucker.galaxytruckerreloaded.Model.Map.Planet;
import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.*;
......@@ -27,49 +29,80 @@ public class Ship implements Serializable {
*/
@NonNull
@DatabaseField(columnName = "HP")
private int hp;
/**
* Resources are stored in ship
*/
private int money;
/** Coins */
@NonNull
@DatabaseField(columnName = "coins")
private int coins;
/** Amount of available missiles */
@NonNull
@DatabaseField(columnName = "missles")
private int missiles;
/** Amount of fuel left*/
@NonNull
@DatabaseField(columnName = "fuel")
private int fuel;
/**
* Energy to be distributed
*/
@NonNull
@DatabaseField(columnName = "energy")
private int energy;
/**
* Shields that are currently active
*/
@NonNull
@DatabaseField(columnName = "shieldCharge")
private int shieldCharge;
/**
* Total number of Shields that are powered. Possibly redundant through Shield.getEnergy/2
*/
@NonNull
@DatabaseField(columnName = "maximumShieldCharge")
private int maxShieldCharge;
/**
* chance for the ship to dodge incoming attacks
*/
private float evasion;
@NonNull
@DatabaseField(columnName = "evasionChance")
private float evasionChance;
/**
* X and Y coordinates on the map
* The planet the ship is currently at
*/
private Planet position;
@NonNull
@DatabaseField(foreign = true,columnName = "planet")
private Planet planet;
/** Shields */
@NonNull
@DatabaseField(columnName = "shields")
private int shields;
/**
* time needed until position can be changed again
*/
@NonNull
@DatabaseField(columnName = "SHIELDS")
private int shields;
@DatabaseField(columnName = "FTLCharge")
private int FTLCharge;
private int FTLcharge;
/** This ship's weapons */
@NonNull
@DatabaseField(columnName = "weapons", foreign = true)
private List<Weapon> weapons;
/** This ship's systems */
@NonNull
@DatabaseField(columnName = "systems",foreign = true)
private List<System> systems;
/**
* Take damage
......
......@@ -6,19 +6,10 @@ import lombok.*;
import java.io.Serializable;
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
public abstract class Room implements Serializable {
/**
* ID
*/
@DatabaseField(columnName = "ID", id = true)
@NonNull
private int id;
/**
* Höhe des Raumes. Räume sind immer rechteckig.
*/
......
......@@ -7,8 +7,6 @@ import java.io.Serializable;
@Getter
@Setter
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@NoArgsConstructor(access = AccessLevel.PUBLIC)
public abstract class System extends Room implements Serializable {
/**
......
package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.*;
@DatabaseTable(tableName = "weaponSystem")
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
public class WeaponSystem extends System {
/** whether or not its manned */
@NonNull
@DatabaseField(columnName = "manned")
private boolean manned = false;
}
......@@ -13,12 +13,16 @@ import java.io.Serializable;
@DatabaseTable(tableName = "USER")
public class User implements Serializable {
/** Username */
@DatabaseField(id = true,columnName = "USERNAME")
/**
* Username
*/
@DatabaseField(id = true, columnName = "USERNAME")
@NonNull
private String username;
/** The user's ship */
/**
* The user's ship
*/
@DatabaseField(columnName = "userShip", foreign = true)
private Ship userShip;
}
package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.*;
import java.io.Serializable;
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
@DatabaseTable(tableName = "bomb")
public class Bomb extends Weapon implements Serializable {
/** Weapon name */
@DatabaseField(columnName = "bombWeaponName")
@NonNull
private String name;
}
package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.*;
import java.io.Serializable;
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
@DatabaseTable(tableName = "healBombWeapon")
public class HealBomb extends Weapon implements Serializable {
/** Weapon name */
@DatabaseField(columnName = "healBombWeaponName")
@NonNull
private String name;
}
package com.galaxytrucker.galaxytruckerreloaded.Model.Weapons;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;
import lombok.*;
import java.io.Serializable;
@RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@NoArgsConstructor(access = AccessLevel.PUBLIC)
@Getter
@Setter
@DatabaseTable(tableName = "laserBlasterWeapon")
public class LaserBlaster extends Weapon implements Serializable {
/** Weapon name */
@DatabaseField(columnName = "laserWeaponName")
@NonNull
private String name;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment