Apply BASE engine improvements
This commit is contained in:
BIN
data.mv.db
BIN
data.mv.db
Binary file not shown.
@@ -13,7 +13,6 @@ import com.bartlomiejpluta.base.lib.animation.*;
|
||||
import com.bartlomiejpluta.base.util.random.DiceRoller;
|
||||
|
||||
import com.bartlomiejpluta.demo.runner.DemoRunner;
|
||||
import com.bartlomiejpluta.base.generated.db.model.EnemyModel;
|
||||
import com.bartlomiejpluta.demo.world.weapon.*;
|
||||
import com.bartlomiejpluta.demo.event.EnemyDiedEvent;
|
||||
import com.bartlomiejpluta.demo.ai.*;
|
||||
@@ -21,7 +20,7 @@ import com.bartlomiejpluta.demo.ai.ArcherAI;
|
||||
|
||||
|
||||
public class Enemy extends Character implements NPC {
|
||||
private final EnemyModel template;
|
||||
private final DB.model.EnemyModel template;
|
||||
private AI ai = NoopAI.INSTANCE;
|
||||
private final AnimationRunner dieAnimation;
|
||||
|
||||
@@ -34,7 +33,7 @@ public class Enemy extends Character implements NPC {
|
||||
@Getter
|
||||
private final String name;
|
||||
|
||||
public Enemy(@NonNull Context context, @NonNull EnemyModel template) {
|
||||
public Enemy(@NonNull Context context, @NonNull DB.model.EnemyModel template) {
|
||||
super(context, context.createEntity(template.getEntset()));
|
||||
this.template = template;
|
||||
name = template.getName();
|
||||
@@ -48,11 +47,11 @@ public class Enemy extends Character implements NPC {
|
||||
var rangedWeaponTemplate = template.getRangedWeapon();
|
||||
|
||||
if(meleeWeaponTemplate != null) {
|
||||
this.meleeWeapon = new MeleeWeapon(context, runner.getMeleeWeaponDAO().find(meleeWeaponTemplate));
|
||||
this.meleeWeapon = new MeleeWeapon(context, DB.dao.melee_weapon.find(meleeWeaponTemplate));
|
||||
}
|
||||
|
||||
if(rangedWeaponTemplate != null) {
|
||||
this.rangedWeapon = new RangedWeapon(context, runner.getRangedWeaponDAO().find(rangedWeaponTemplate));
|
||||
this.rangedWeapon = new RangedWeapon(context, DB.dao.ranged_weapon.find(rangedWeaponTemplate));
|
||||
}
|
||||
|
||||
this.dieAnimation = new SimpleAnimationRunner(template.getDieAnimation());
|
||||
|
||||
@@ -7,19 +7,17 @@ import com.bartlomiejpluta.base.api.move.*;
|
||||
import com.bartlomiejpluta.base.lib.entity.EntityDelegate;
|
||||
import com.bartlomiejpluta.base.util.path.*;
|
||||
|
||||
import com.bartlomiejpluta.base.generated.db.model.MapObjectModel;
|
||||
|
||||
import com.bartlomiejpluta.demo.entity.Character;
|
||||
|
||||
public class MapObject extends EntityDelegate {
|
||||
private final PathExecutor<MapObject> pathExecutor = new PathExecutor<>(this);
|
||||
private final Context context;
|
||||
private final MapObjectModel template;
|
||||
private final DB.model.MapObjectModel template;
|
||||
private final Short frame;
|
||||
private final String interactSound;
|
||||
private boolean interacting = false;
|
||||
|
||||
public MapObject(@NonNull Context context, @NonNull MapObjectModel template) {
|
||||
public MapObject(@NonNull Context context, @NonNull DB.model.MapObjectModel template) {
|
||||
super(context.createEntity(template.getEntset()));
|
||||
this.context = context;
|
||||
this.template = template;
|
||||
|
||||
@@ -94,18 +94,18 @@ public abstract class BaseMapHandler implements MapHandler {
|
||||
}
|
||||
|
||||
public Enemy enemy(@NonNull String id) {
|
||||
return new Enemy(context, runner.getEnemyDAO().find(id));
|
||||
return new Enemy(context, DB.dao.enemy.find(id));
|
||||
}
|
||||
|
||||
public Enemy enemy(int x, int y, @NonNull String id) {
|
||||
var enemy = new Enemy(context, runner.getEnemyDAO().find(id));
|
||||
var enemy = new Enemy(context, DB.dao.enemy.find(id));
|
||||
enemy.setCoordinates(x, y);
|
||||
mainLayer.addEntity(enemy);
|
||||
return enemy;
|
||||
}
|
||||
|
||||
public MapObject object(int x, int y, @NonNull String id) {
|
||||
var object = new MapObject(context, runner.getMapObjectDAO().find(id));
|
||||
var object = new MapObject(context, DB.dao.map_object.find(id));
|
||||
object.setCoordinates(x, y);
|
||||
mainLayer.addEntity(object);
|
||||
return object;
|
||||
|
||||
@@ -32,11 +32,11 @@ public class MenuManager {
|
||||
|
||||
this.gui.setRoot(this.manager);
|
||||
|
||||
this.startMenu = (StartMenuWindow) gui.inflateWindow("ab9d40b4-eb28-45d7-bff2-9432a05eb41a");
|
||||
this.startMenu = (StartMenuWindow) gui.inflateWindow(A.widgets.start_menu.uid);
|
||||
this.startMenu.getNewGameBtn().setAction(runner::newGame);
|
||||
this.startMenu.getExitBtn().setAction(runner::exit);
|
||||
|
||||
this.gameMenu = (GameMenuWindow) gui.inflateWindow("56ca6b39-f949-4212-9c23-312db25887e0");
|
||||
this.gameMenu = (GameMenuWindow) gui.inflateWindow(A.widgets.game_menu.uid);
|
||||
this.gameMenu.getResumeGameBtn().setAction(this::resumeGame);
|
||||
this.gameMenu.getStartMenuBtn().setAction(runner::returnToStartMenu);
|
||||
this.gameMenu.getExitBtn().setAction(runner::exit);
|
||||
|
||||
@@ -13,14 +13,13 @@ import com.bartlomiejpluta.base.api.gui.GUI;
|
||||
|
||||
import com.bartlomiejpluta.base.util.profiler.FPSProfiler;
|
||||
|
||||
import com.bartlomiejpluta.base.generated.db.dao.*;
|
||||
|
||||
import com.bartlomiejpluta.demo.map.ForrestTempleHandler;
|
||||
import com.bartlomiejpluta.demo.entity.Player;
|
||||
import com.bartlomiejpluta.demo.menu.MenuManager;
|
||||
|
||||
import com.bartlomiejpluta.demo.world.weapon.*;
|
||||
|
||||
|
||||
public class DemoRunner implements GameRunner {
|
||||
private static final Logger log = LoggerFactory.getLogger(DemoRunner.class);
|
||||
private Screen screen;
|
||||
@@ -28,18 +27,6 @@ public class DemoRunner implements GameRunner {
|
||||
private MenuManager menu;
|
||||
private GUI hud;
|
||||
|
||||
@Getter
|
||||
private MeleeWeaponDAO meleeWeaponDAO;
|
||||
|
||||
@Getter
|
||||
private RangedWeaponDAO rangedWeaponDAO;
|
||||
|
||||
@Getter
|
||||
private EnemyDAO enemyDAO;
|
||||
|
||||
@Getter
|
||||
private MapObjectDAO mapObjectDAO;
|
||||
|
||||
@Getter
|
||||
private Player player;
|
||||
|
||||
@@ -53,7 +40,6 @@ public class DemoRunner implements GameRunner {
|
||||
configureScreen();
|
||||
configureCamera();
|
||||
initPlayer();
|
||||
initDAOs();
|
||||
initHUD();
|
||||
initMenu();
|
||||
|
||||
@@ -72,13 +58,6 @@ public class DemoRunner implements GameRunner {
|
||||
context.getCamera().setScale(2f);
|
||||
}
|
||||
|
||||
private void initDAOs() {
|
||||
meleeWeaponDAO = new MeleeWeaponDAO(context);
|
||||
enemyDAO = new EnemyDAO(context);
|
||||
rangedWeaponDAO = new RangedWeaponDAO(context);
|
||||
mapObjectDAO = new MapObjectDAO(context);
|
||||
}
|
||||
|
||||
private void initMenu() {
|
||||
this.menu = new MenuManager(this, context);
|
||||
}
|
||||
@@ -86,29 +65,29 @@ public class DemoRunner implements GameRunner {
|
||||
private void initHUD() {
|
||||
hud = context.newGUI();
|
||||
hud.hide();
|
||||
var hudComponent = hud.inflateComponent("00bd0625-b3b8-4abf-97b7-91f42bce28ec");
|
||||
var hudComponent = hud.inflateComponent(A.widgets.hud.uid);
|
||||
hud.setRoot(hudComponent);
|
||||
}
|
||||
|
||||
private void initPlayer() {
|
||||
this.player = new Player(context, context.createEntity("815a5c5c-4979-42f5-a42a-ccbbff9a97e5"));
|
||||
this.player = new Player(context, context.createEntity(A.entsets.luna.uid));
|
||||
}
|
||||
|
||||
private void resetPlayer() {
|
||||
this.player.changeEntitySet("815a5c5c-4979-42f5-a42a-ccbbff9a97e5");
|
||||
this.player.changeEntitySet(A.entsets.luna.uid);
|
||||
this.player.setScale(1.0f);
|
||||
this.player.setSpeed(0.07f);
|
||||
this.player.setAnimationSpeed(0.005f);
|
||||
this.player.setBlocking(true);
|
||||
this.player.setCoordinates(0, 11);
|
||||
this.player.setWeapon(new RangedWeapon(context, rangedWeaponDAO.find("wooden_bow")));
|
||||
this.player.setWeapon(new RangedWeapon(context, DB.dao.ranged_weapon.find("wooden_bow")));
|
||||
}
|
||||
|
||||
public void newGame() {
|
||||
menu.closeAll();
|
||||
menu.enableGameMenu();
|
||||
resetPlayer();
|
||||
context.openMap(ForrestTempleHandler.UID);
|
||||
context.openMap(A.maps.forrest_temple.uid);
|
||||
context.getMap().getObjectLayer(ForrestTempleHandler.MAIN_LAYER).addEntity(this.player);
|
||||
context.resume();
|
||||
hud.show();
|
||||
|
||||
@@ -8,7 +8,6 @@ import com.bartlomiejpluta.base.api.context.Context;
|
||||
import com.bartlomiejpluta.base.lib.animation.*;
|
||||
import com.bartlomiejpluta.base.util.random.DiceRoller;
|
||||
|
||||
import com.bartlomiejpluta.base.generated.db.model.MeleeWeaponModel;
|
||||
import com.bartlomiejpluta.demo.entity.Character;
|
||||
|
||||
import com.bartlomiejpluta.demo.event.HitEvent;
|
||||
@@ -26,7 +25,7 @@ public class MeleeWeapon implements Weapon {
|
||||
@Getter
|
||||
private int cooldown;
|
||||
|
||||
public MeleeWeapon(@NonNull Context context, @NonNull MeleeWeaponModel template) {
|
||||
public MeleeWeapon(@NonNull Context context, @NonNull DB.model.MeleeWeaponModel template) {
|
||||
this.context = context;
|
||||
this.name = template.getName();
|
||||
this.roller = DiceRoller.of(template.getDamage());
|
||||
|
||||
@@ -10,7 +10,6 @@ import com.bartlomiejpluta.base.api.move.*;
|
||||
import com.bartlomiejpluta.base.lib.animation.*;
|
||||
import com.bartlomiejpluta.base.util.random.DiceRoller;
|
||||
|
||||
import com.bartlomiejpluta.base.generated.db.model.RangedWeaponModel;
|
||||
import com.bartlomiejpluta.demo.entity.Character;
|
||||
import com.bartlomiejpluta.demo.entity.NamedEntity;
|
||||
|
||||
@@ -34,7 +33,7 @@ public class RangedWeapon implements Weapon {
|
||||
@Getter
|
||||
private int cooldown;
|
||||
|
||||
public RangedWeapon(@NonNull Context context, @NonNull RangedWeaponModel template) {
|
||||
public RangedWeapon(@NonNull Context context, @NonNull DB.model.RangedWeaponModel template) {
|
||||
this.context = context;
|
||||
this.name = template.getName();
|
||||
this.dmgRoller = DiceRoller.of(template.getDamage());
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
widthMode="SizeMode.ABSOLUTE">
|
||||
|
||||
<base:Label
|
||||
font=""2261c04f-b02e-4486-b388-8a0fa41622e9""
|
||||
font="A.fonts.roboto_regular.uid"
|
||||
widthMode="SizeMode.RELATIVE"
|
||||
width="1f"
|
||||
alignment="GUI.ALIGN_TOP | GUI.ALIGN_CENTER"
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<demo:Button
|
||||
ref="resume_game"
|
||||
font=""2261c04f-b02e-4486-b388-8a0fa41622e9""
|
||||
font="A.fonts.roboto_regular.uid"
|
||||
widthMode="SizeMode.RELATIVE"
|
||||
width="1f"
|
||||
red="1f"
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<demo:Button
|
||||
ref="start_menu"
|
||||
font=""2261c04f-b02e-4486-b388-8a0fa41622e9""
|
||||
font="A.fonts.roboto_regular.uid"
|
||||
widthMode="SizeMode.RELATIVE"
|
||||
width="1f"
|
||||
red="1f"
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
<demo:Button
|
||||
ref="exit"
|
||||
font=""2261c04f-b02e-4486-b388-8a0fa41622e9""
|
||||
font="A.fonts.roboto_regular.uid"
|
||||
widthMode="SizeMode.RELATIVE"
|
||||
width="1f"
|
||||
red="1f"
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
<demo:Button
|
||||
ref="new_game"
|
||||
font=""2261c04f-b02e-4486-b388-8a0fa41622e9""
|
||||
font="A.fonts.roboto_regular.uid"
|
||||
widthMode="SizeMode.RELATIVE"
|
||||
width="1f"
|
||||
red="1f"
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<demo:Button
|
||||
ref="exit"
|
||||
font=""2261c04f-b02e-4486-b388-8a0fa41622e9""
|
||||
font="A.fonts.roboto_regular.uid"
|
||||
widthMode="SizeMode.RELATIVE"
|
||||
width="1f"
|
||||
red="1f"
|
||||
|
||||
Reference in New Issue
Block a user