Skip to content
This repository was archived by the owner on Dec 24, 2025. It is now read-only.

Commit 46702a4

Browse files
committed
feat: add health management and UI elements for player lives and score
- Introduced HealthIntValue class for managing player health with callbacks for damage and healing. - Added Hearts and HorizontalPositiveInteger classes for displaying player lives and score in the UI. - Updated GameSystem to integrate health management and UI elements during game initialization.
1 parent 0c73954 commit 46702a4

14 files changed

Lines changed: 614 additions & 79 deletions

File tree

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ spotless {
7575

7676
java {
7777
target 'src/**/*.java'
78+
targetExclude 'src/**/libs/**/*';
7879

7980
googleJavaFormat('1.17.0')
8081
.aosp()

src/main/java/com/github/codestorm/bounceverse/AssetsPath.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,6 @@ private SFX() {}
8080
public static final class Textures {
8181
private Textures() {}
8282

83-
public static final String ROOT = AssetsPath.ROOT + "/textures";
84-
8583
public static final class Bricks {
8684
private Bricks() {}
8785

@@ -188,6 +186,21 @@ public String toString() {
188186
}
189187
}
190188
}
189+
190+
public static final Map<Integer, String> NUMBERS =
191+
Map.of(
192+
0, "numbers/0.png",
193+
1, "numbers/1.png",
194+
2, "numbers/2.png",
195+
3, "numbers/3.png",
196+
4, "numbers/4.png",
197+
5, "numbers/5.png",
198+
6, "numbers/6.png",
199+
7, "numbers/7.png",
200+
8, "numbers/8.png",
201+
9, "numbers/9.png");
202+
203+
public static final String HEART = "/heart.png";
191204
}
192205

193206
public static final class Other {

src/main/java/com/github/codestorm/bounceverse/factory/entities/PowerUpFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ protected EntityBuilder getBuilder(SpawnData data) {
4949
/**
5050
* Tạo mới một PowerUp. Đây là một "abstract" method.
5151
*
52-
* @param data Dữ liệu Spawn
52+
* @param data Dữ liệu EntitySpawn
5353
* @return Entity PowerUp
5454
*/
5555
private Entity newPowerUp(SpawnData data) {

src/main/java/com/github/codestorm/bounceverse/factory/entities/WallFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ protected EntityBuilder getBuilder(SpawnData data) {
8585
/**
8686
* Create Top {@link EntityType#WALL}. `
8787
*
88-
* @param data Spawn data
88+
* @param data EntitySpawn data
8989
* @return Top wall
9090
*/
9191
@Spawns("wallTop")
@@ -97,7 +97,7 @@ public Entity newWallTop(SpawnData data) {
9797
/**
9898
* Create Bottom {@link EntityType#WALL}. `
9999
*
100-
* @param data Spawn data
100+
* @param data EntitySpawn data
101101
* @return Botton wall
102102
*/
103103
@Spawns("wallBottom")
@@ -109,7 +109,7 @@ public Entity newWallBottom(SpawnData data) {
109109
/**
110110
* Create Left {@link EntityType#WALL}. `
111111
*
112-
* @param data Spawn data
112+
* @param data EntitySpawn data
113113
* @return Left wall
114114
*/
115115
@Spawns("wallLeft")
@@ -121,7 +121,7 @@ public Entity newWallLeft(SpawnData data) {
121121
/**
122122
* Create Right {@link EntityType#WALL}. `
123123
*
124-
* @param data Spawn data
124+
* @param data EntitySpawn data
125125
* @return Left wall
126126
*/
127127
@Spawns("wallRight")

src/main/java/com/github/codestorm/bounceverse/systems/init/AppEventSystem.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.github.codestorm.bounceverse.systems.init;
22

33
import com.almasb.fxgl.app.GameApplication;
4+
import com.almasb.fxgl.dsl.FXGL;
45
import com.github.codestorm.bounceverse.systems.manager.metrics.LeaderboardManager;
56
import com.github.codestorm.bounceverse.systems.manager.settings.UserSettingsManager;
67

@@ -21,7 +22,11 @@ public static AppEventSystem getInstance() {
2122
}
2223

2324
private void onStart() {
25+
// User Settings
2426
UserSettingsManager.getInstance().apply();
27+
28+
// Save load
29+
FXGL.getSaveLoadService().addHandler(GameSystem.Variables.SAVE_LOAD_HANDLER);
2530
}
2631

2732
private void onExit() {

0 commit comments

Comments
 (0)