Improve "New game" action after game over

This commit is contained in:
2022-09-01 13:30:19 +02:00
parent 25c9abd427
commit 796c0ec9b0
3 changed files with 21 additions and 11 deletions

Binary file not shown.

View File

@@ -1,6 +1,7 @@
package com.bartlomiejpluta.demo.entity;
import com.bartlomiejpluta.base.api.character.Character;
import com.bartlomiejpluta.base.util.random.DiceRoller;
import com.bartlomiejpluta.demo.world.item.Item;
import com.bartlomiejpluta.demo.world.item.ItemStack;
import com.bartlomiejpluta.demo.world.weapon.Ammunition;
@@ -8,6 +9,8 @@ import com.bartlomiejpluta.demo.world.weapon.Weapon;
import lombok.NonNull;
import org.joml.Vector2i;
import java.util.Arrays;
public class Player extends Creature {
public static final int EQUIPMENT_SIZE = 6 * 6;
private final Item[] equipment = new Item[EQUIPMENT_SIZE];
@@ -15,8 +18,22 @@ public class Player extends Creature {
public Player(@NonNull Character entity) {
super(entity);
this.hp = 20;
this.maxHp = 20;
reset();
}
public void reset() {
var data = DB.dao.levels.find(1);
this.maxHp = DiceRoller.roll(data.getMaxHp());
this.hp = this.maxHp;
alive = true;
changeCharacterSet(A.charsets.luna.uid);
setScale(1f);
setSpeed(4f);
setAnimationSpeed(1f);
setBlocking(true);
Arrays.fill(equipment, null);
}
public void interact() {

View File

@@ -57,18 +57,11 @@ public class DemoRunner implements GameRunner {
this.player = new Player(context.createCharacter(A.charsets.luna.uid));
}
private void resetPlayer() {
this.player.changeCharacterSet(A.charsets.luna.uid);
this.player.setScale(1f);
this.player.setSpeed(4f);
this.player.setAnimationSpeed(1f);
this.player.setBlocking(true);
}
public void newGame() {
context.resetMaps();
guiManager.closeAll();
guiManager.enableGameMenu();
resetPlayer();
player.reset();
context.openMap(A.maps.hero_home.uid);
context.getMap().getObjectLayer(A.maps.hero_home.layers.main).addEntity(this.player);
player.setCoordinates(11, 14);