Skip to content

Commit c1ce388

Browse files
committed
IMGUI is hard :(
1 parent 27521c6 commit c1ce388

File tree

3 files changed

+14
-32
lines changed

3 files changed

+14
-32
lines changed

src/main/java/com/spireprod/cje/ConsoleJavaEngine.java

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.spireprod.cje;
22

3-
import java.awt.event.MouseEvent;
4-
import java.awt.event.MouseListener;
53
import java.awt.event.WindowEvent;
64
import java.awt.event.WindowListener;
75
import java.io.IOException;
@@ -74,35 +72,6 @@ public void onResized(Terminal terminal, TerminalSize newSize) {
7472
}
7573

7674
});
77-
78-
frame.addMouseListener(new MouseListener() {
79-
80-
@Override
81-
public void mouseClicked(MouseEvent e) {
82-
83-
}
84-
85-
@Override
86-
public void mousePressed(MouseEvent e) {
87-
88-
}
89-
90-
@Override
91-
public void mouseReleased(MouseEvent e) {
92-
93-
}
94-
95-
@Override
96-
public void mouseEntered(MouseEvent e) {
97-
98-
}
99-
100-
@Override
101-
public void mouseExited(MouseEvent e) {
102-
103-
}
104-
});
105-
10675
frame.addWindowListener(new WindowListener() {
10776

10877
@Override
@@ -174,6 +143,10 @@ private void onGameInput(float deltaTime, Input input) {
174143
sceneManager.sceneInput(deltaTime, input);
175144
}
176145

146+
private void onGameUIRender(ConsoleRenderer renderer, Input input) {
147+
sceneManager.sceneUIRender(renderer, input);
148+
}
149+
177150
private void onGameRender(ConsoleRenderer renderer) {
178151
sceneManager.sceneRender(renderer);
179152
}
@@ -202,15 +175,17 @@ private void loop() throws IOException, InterruptedException {
202175
input.update(termKey);
203176

204177
onGameInput(delta, input);
205-
input.endFrame();
206178

207179
onGameUpdate(delta);
208180

209181
renderer.setTextGraphics(screen.newTextGraphics());
210182
renderer.clearScreen();
211183

212184
onGameRender(renderer);
185+
onGameUIRender(renderer, input);
186+
213187
screen.refresh();
188+
input.endFrame(); // Moved Here for UI Input
214189

215190
long sleepNanos = (lastLoopTime - System.nanoTime() + optimalTime);
216191
if (sleepNanos > 0) {

src/main/java/com/spireprod/cje/core/scenes/Scene.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public interface Scene {
99

1010
void onSceneRender(ConsoleRenderer renderer);
1111

12+
void onSceneUIRender(ConsoleRenderer renderer, Input input);
13+
1214
void onSceneInput(float delta, Input input);
1315

1416
}

src/main/java/com/spireprod/cje/core/scenes/SceneManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public void sceneInput(float deltaTime, Input input) {
2020
currentScene.onSceneInput(deltaTime, input);
2121
}
2222

23+
public void sceneUIRender(ConsoleRenderer renderer, Input input) {
24+
if (currentScene != null)
25+
currentScene.onSceneUIRender(renderer, input);
26+
}
27+
2328
public void sceneRender(ConsoleRenderer renderer) {
2429
if (currentScene != null)
2530
currentScene.onSceneRender(renderer);

0 commit comments

Comments
 (0)