Skip to content

Commit 5bfcfa0

Browse files
authored
Merge pull request #232 from lucasstarsz/main
The rest of 1.7.0
2 parents 5fc7beb + 81158b1 commit 5bfcfa0

File tree

63 files changed

+594
-583
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+594
-583
lines changed

examples/java/tech/fastj/examples/behaviors/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void init(FastJCanvas canvas) {
4444
* gameObject.addBehavior(Behavior, SimpleManager/Scene) -- the SimpleManager/Scene is the
4545
* manager the behavior is in. */
4646
box.addBehavior(movementBehavior, this);
47-
drawableManager.addGameObject(box);
47+
drawableManager().addGameObject(box);
4848

4949

5050
/* Pre-defined Behaviors */
@@ -66,7 +66,7 @@ public void init(FastJCanvas canvas) {
6666
.build();
6767

6868
premadeBehaviorsBox.addBehavior(Behavior.simpleRotation(3f), this);
69-
drawableManager.addGameObject(premadeBehaviorsBox);
69+
drawableManager().addGameObject(premadeBehaviorsBox);
7070
}
7171

7272
@Override

examples/java/tech/fastj/examples/bullethell/scenes/GameScene.java

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,6 @@
3232

3333
public class GameScene extends Scene {
3434

35-
private Model2D player;
36-
private Text2D playerMetadata;
37-
private Polygon2D playerHealthBar;
38-
3935
private Map<String, Model2D> enemies;
4036
private int enemyCount = 0;
4137
private int wave = 0;
@@ -46,31 +42,31 @@ public GameScene() {
4642

4743
@Override
4844
public void load(FastJCanvas canvas) {
49-
playerMetadata = createPlayerMetaData();
50-
playerHealthBar = createPlayerHealthBar();
51-
PlayerHealthBar playerHealthBarScript = new PlayerHealthBar(playerMetadata, this);
45+
Text2D playerMetadata = createPlayerMetaData();
46+
Polygon2D playerHealthBar = createPlayerHealthBar();
47+
PlayerHealthBar playerHealthBarScript = new PlayerHealthBar(playerMetadata);
5248
playerHealthBar.addBehavior(playerHealthBarScript, this)
5349
.<GameObject>addTag(Tags.PlayerHealthBar);
5450

5551

5652
PlayerController playerControllerScript = new PlayerController(3f, 3f);
5753
PlayerCannon playerCannonScript = new PlayerCannon(this);
58-
player = createPlayer();
54+
Model2D player = createPlayer();
5955
player.addBehavior(playerControllerScript, this)
6056
.addBehavior(playerCannonScript, this)
6157
.<GameObject>addTag(Tags.Player);
6258

6359

6460
// add game objects to the screen in order!
65-
drawableManager.addGameObject(player);
66-
drawableManager.addGameObject(playerHealthBar);
67-
drawableManager.addGameObject(playerMetadata);
61+
drawableManager().addGameObject(player);
62+
drawableManager().addGameObject(playerHealthBar);
63+
drawableManager().addGameObject(playerMetadata);
6864

6965

7066
enemies = new ConcurrentHashMap<>();
7167
newWave();
7268

73-
inputManager.addKeyboardActionListener(new KeyboardActionListener() {
69+
inputManager().addKeyboardActionListener(new KeyboardActionListener() {
7470
@Override
7571
public void onKeyRecentlyPressed(KeyboardStateEvent keyboardStateEvent) {
7672
switch (keyboardStateEvent.getKey()) {
@@ -93,26 +89,6 @@ public void onKeyRecentlyPressed(KeyboardStateEvent keyboardStateEvent) {
9389

9490
@Override
9591
public void unload(FastJCanvas canvas) {
96-
if (player != null) {
97-
player.destroy(this);
98-
player = null;
99-
}
100-
101-
if (playerMetadata != null) {
102-
playerMetadata.destroy(this);
103-
playerMetadata = null;
104-
}
105-
106-
if (playerHealthBar != null) {
107-
playerHealthBar.destroy(this);
108-
playerHealthBar = null;
109-
}
110-
111-
if (enemies != null) {
112-
enemies.forEach((id, enemy) -> enemy.destroy(this));
113-
enemies.clear();
114-
}
115-
11692
enemyCount = 0;
11793
}
11894

@@ -184,7 +160,7 @@ private Model2D createEnemy() {
184160
Model2D enemy = Model2D.fromPolygons(ModelUtil.loadModel(Path.of(FilePaths.PathToResources + "enemy.psdf")));
185161
enemy.addLateBehavior(new EnemyMovement(this), this);
186162
enemy.setTranslation(randomPosition);
187-
drawableManager.addGameObject(enemy);
163+
drawableManager().addGameObject(enemy);
188164
return enemy;
189165
}
190166
}

examples/java/tech/fastj/examples/bullethell/scenes/LoseScene.java

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616

1717
public class LoseScene extends Scene {
1818

19-
private Text2D loseText;
20-
private Text2D deathInfo;
21-
2219
public LoseScene() {
2320
super(SceneNames.LoseSceneName);
2421
}
@@ -28,24 +25,22 @@ public void load(FastJCanvas canvas) {
2825
GameScene gameScene = FastJEngine.<SceneManager>getLogicManager().getScene(SceneNames.GameSceneName);
2926
int waveNumber = gameScene.getWaveNumber();
3027

31-
loseText = Text2D.create("You Lost...")
28+
Text2D loseText = Text2D.create("You Lost...")
3229
.withFill(Color.red)
3330
.withFont(new Font("Consolas", Font.PLAIN, 96))
3431
.withTransform(new Pointf(300f, 375f), Transform2D.DefaultRotation, Transform2D.DefaultScale)
3532
.build();
36-
deathInfo = Text2D.create("You died on wave: " + waveNumber)
33+
Text2D deathInfo = Text2D.create("You died on wave: " + waveNumber)
3734
.withFont(new Font("Consolas", Font.PLAIN, 16))
3835
.withTransform(new Pointf(500f, 400f), Transform2D.DefaultRotation, Transform2D.DefaultScale)
3936
.build();
4037

41-
drawableManager.addGameObject(loseText);
42-
drawableManager.addGameObject(deathInfo);
38+
drawableManager().addGameObject(loseText);
39+
drawableManager().addGameObject(deathInfo);
4340
}
4441

4542
@Override
4643
public void unload(FastJCanvas canvas) {
47-
loseText.destroy(this);
48-
deathInfo.destroy(this);
4944
}
5045

5146
@Override

examples/java/tech/fastj/examples/bullethell/scripts/BulletMovement.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import tech.fastj.systems.behaviors.Behavior;
88

99
import tech.fastj.examples.bullethell.scenes.GameScene;
10+
import tech.fastj.gameloop.CoreLoopState;
1011

1112
public class BulletMovement implements Behavior {
1213

@@ -53,10 +54,10 @@ public void destroy() {
5354
}
5455

5556
public void bulletDied(GameObject obj) {
56-
FastJEngine.runAfterUpdate(() -> {
57+
FastJEngine.runLater(() -> {
5758
FastJEngine.log("death! of bullet {}f{}", travelAngle, travelVector);
5859
obj.destroy(gameScene);
5960
playerCannonScript.bulletDied();
60-
});
61+
}, CoreLoopState.FixedUpdate);
6162
}
6263
}

examples/java/tech/fastj/examples/bullethell/scripts/EnemyMovement.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import tech.fastj.examples.bullethell.scenes.GameScene;
1515
import tech.fastj.examples.bullethell.util.Tags;
16+
import tech.fastj.gameloop.CoreLoopState;
1617

1718
public class EnemyMovement implements Behavior {
1819

@@ -58,7 +59,7 @@ private void checkCollisions(GameObject obj) {
5859
}
5960

6061
private void enemyDied(GameObject enemy) {
61-
FastJEngine.runAfterUpdate(() -> gameScene.enemyDied((Model2D) enemy));
62+
FastJEngine.runLater(() -> gameScene.enemyDied((Model2D) enemy), CoreLoopState.FixedUpdate);
6263
}
6364

6465
private void moveToPlayer(GameObject obj) {

examples/java/tech/fastj/examples/bullethell/scripts/PlayerCannon.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import tech.fastj.examples.bullethell.scenes.GameScene;
1818
import tech.fastj.examples.bullethell.util.Tags;
19+
import tech.fastj.gameloop.CoreLoopState;
1920

2021
public class PlayerCannon implements Behavior {
2122

@@ -37,7 +38,7 @@ public void init(GameObject obj) {
3738
@Override
3839
public void fixedUpdate(GameObject obj) {
3940
if (Keyboard.isKeyRecentlyPressed(Keys.Space) && bulletCount < MaxBulletCount) {
40-
FastJEngine.runAfterUpdate(() -> createBullet(obj));
41+
FastJEngine.runLater(() -> createBullet(obj), CoreLoopState.FixedUpdate);
4142
}
4243
}
4344

@@ -60,7 +61,7 @@ private void createBullet(GameObject player) {
6061
.addLateBehavior(bulletMovementScript, gameScene)
6162
.<GameObject>addTag(Tags.Bullet);
6263

63-
gameScene.drawableManager.addGameObject(bullet);
64+
gameScene.drawableManager().addGameObject(bullet);
6465
bulletCount++;
6566
}
6667

examples/java/tech/fastj/examples/bullethell/scripts/PlayerHealthBar.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
import java.util.concurrent.ScheduledExecutorService;
1616
import java.util.concurrent.TimeUnit;
1717

18-
import tech.fastj.examples.bullethell.scenes.GameScene;
1918
import tech.fastj.examples.bullethell.util.SceneNames;
19+
import tech.fastj.gameloop.CoreLoopState;
2020

2121
public class PlayerHealthBar implements Behavior {
2222

@@ -26,13 +26,11 @@ public class PlayerHealthBar implements Behavior {
2626
private boolean takenDamage;
2727
private boolean canTakeDamage;
2828

29-
private final GameScene gameScene;
3029
private final ScheduledExecutorService damageCooldown = Executors.newSingleThreadScheduledExecutor();
3130
private final Text2D playerMetadata;
3231

33-
public PlayerHealthBar(Text2D playerMetadata, GameScene gameScene) {
32+
public PlayerHealthBar(Text2D playerMetadata) {
3433
this.playerMetadata = Objects.requireNonNull(playerMetadata);
35-
this.gameScene = gameScene;
3634
}
3735

3836
@Override
@@ -62,7 +60,7 @@ public void update(GameObject gameObject) {
6260

6361
@Override
6462
public void destroy() {
65-
damageCooldown.shutdownNow();
63+
damageCooldown.shutdown();
6664
}
6765

6866
void takeDamage() {
@@ -73,10 +71,10 @@ void takeDamage() {
7371
damageCooldown.schedule(() -> canTakeDamage = true, 1, TimeUnit.SECONDS);
7472

7573
if (health == 0) {
76-
FastJEngine.runAfterUpdate(() -> {
74+
FastJEngine.runLater(() -> {
7775
SceneManager sceneManager = FastJEngine.getLogicManager();
7876
sceneManager.switchScenes(SceneNames.LoseSceneName);
79-
});
77+
}, CoreLoopState.LateUpdate);
8078
}
8179
}
8280
}

examples/java/tech/fastj/examples/engineconfig/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void init(FastJCanvas canvas) {
1919
* The code is not the primary focus of the example -- this is just to give a visual. */
2020
Pointf[] squareMesh = DrawUtil.createBox(50f, 50f, 100f);
2121
Polygon2D square = Polygon2D.fromPoints(squareMesh);
22-
drawableManager.addGameObject(square);
22+
drawableManager().addGameObject(square);
2323
}
2424

2525
@Override

examples/java/tech/fastj/examples/keyboard/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void init(FastJCanvas canvas) {
4242
* To demonstrate each method, I've chosen to log whenever any of the methods is called. Run the program to see
4343
* this in action. */
4444

45-
inputManager.addKeyboardActionListener(new KeyboardActionListener() {
45+
inputManager().addKeyboardActionListener(new KeyboardActionListener() {
4646
@Override
4747
public void onKeyDown(Set<Keys> keysDown) {
4848
FastJEngine.log("Key(s) held down: {}", keysDown);

examples/java/tech/fastj/examples/model2d/Main.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public void init(FastJCanvas canvas) {
4040

4141
/* Super simple! Now, this alone does not cause the model to render to the screen. In order
4242
* for it to be rendered, you need to add it as a game object to the drawable manager. */
43-
drawableManager.addGameObject(smallSquares);
43+
drawableManager().addGameObject(smallSquares);
4444

4545
/* If you comment out the line above, you'll see that the text does not get rendered. */
4646

@@ -69,7 +69,7 @@ public void init(FastJCanvas canvas) {
6969
.build();
7070

7171
// And of course, we need to add our model of squares to the drawable manager's game objects.
72-
drawableManager.addGameObject(squaresTogether);
72+
drawableManager().addGameObject(squaresTogether);
7373
}
7474

7575
@Override

0 commit comments

Comments
 (0)