Skip to content

Commit 8665347

Browse files
author
HackusatePvP
committed
Removed DisplayOrder and implemented index base rendering. Added generic Element class and deprecated functions for adding overlays, containers, and layouts. Use Container.addElement() instead.
1 parent 204c1aa commit 8665347

File tree

20 files changed

+312
-288
lines changed

20 files changed

+312
-288
lines changed

src/main/java/me/piitex/renjava/api/scenes/types/ImageScene.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import me.piitex.renjava.configuration.RenJavaConfiguration;
99
import me.piitex.renjava.events.types.SceneBuildEvent;
1010
import me.piitex.renjava.gui.Container;
11-
import me.piitex.renjava.gui.DisplayOrder;
1211
import me.piitex.renjava.gui.StageType;
1312
import me.piitex.renjava.api.loaders.FontLoader;
1413
import me.piitex.renjava.api.loaders.ImageLoader;
@@ -128,12 +127,12 @@ public void setDialogueFont(FontLoader font) {
128127
public Container build(boolean ui) {
129128
Container container = new EmptyContainer(configuration.getWidth(), configuration.getHeight());
130129
if (backgroundImage != null) {
131-
backgroundImage.setOrder(DisplayOrder.LOW); // Bg should always be at low priority. They will be pushed to the back of the scene.
132-
container.addOverlays(backgroundImage);
130+
backgroundImage.setIndex(0); // Bg should always be at low priority. They will be pushed to the back of the scene.
131+
container.addElement(backgroundImage);
133132
} else {
134133
BoxOverlay boxOverlay = new BoxOverlay(container.getWidth(), configuration.getHeight(), Color.BLACK);
135-
boxOverlay.setOrder(DisplayOrder.LOW);
136-
container.addOverlay(boxOverlay);
134+
boxOverlay.setIndex(0);
135+
container.addElement(boxOverlay);
137136
}
138137

139138
if (ui) {
@@ -151,7 +150,7 @@ public Container build(boolean ui) {
151150
Container textboxMenu = new EmptyContainer(0, 0, configuration.getDialogueBoxWidth(), configuration.getDialogueBoxHeight());
152151

153152
ImageOverlay textBoxImage = new ImageOverlay(textbox, configuration.getDialogueBoxX() + configuration.getDialogueOffsetX(), configuration.getDialogueBoxY() + configuration.getDialogueOffsetY());
154-
textboxMenu.addOverlay(textBoxImage);
153+
textboxMenu.addElement(textBoxImage);
155154

156155
LinkedList<Overlay> texts = StringFormatter.formatText(dialogue);
157156
TextFlowOverlay textFlowOverlay;
@@ -166,16 +165,16 @@ public Container build(boolean ui) {
166165
textFlowOverlay.setY(configuration.getTextY() + configuration.getTextOffsetY());
167166
textFlowOverlay.setTextFillColor(configuration.getDialogueColor());
168167
textFlowOverlay.setFont(font);
169-
textboxMenu.addOverlay(textFlowOverlay);
168+
textboxMenu.addElement(textFlowOverlay);
170169

171170
TextOverlay characterText = new TextOverlay(characterDisplay, new FontLoader(configuration.getCharacterDisplayFont(), configuration.getCharacterTextSize()),
172171
configuration.getCharacterTextX() + configuration.getCharacterTextOffsetX(),
173172
configuration.getCharacterTextY() + configuration.getCharacterTextOffsetY());
174173
characterText.setTextFill(character.getColor());
175-
characterText.setOrder(DisplayOrder.HIGH);
176-
textboxMenu.addOverlay(characterText);
174+
characterText.setIndex(2);
175+
textboxMenu.addElement(characterText);
177176

178-
container.addContainers(textboxMenu);
177+
container.addElement(textboxMenu);
179178
}
180179
}
181180
}

src/main/java/me/piitex/renjava/api/scenes/types/InteractableScene.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import me.piitex.renjava.events.EventListener;
77
import me.piitex.renjava.events.types.SceneBuildEvent;
88
import me.piitex.renjava.gui.Container;
9-
import me.piitex.renjava.gui.DisplayOrder;
109
import me.piitex.renjava.gui.StageType;
1110
import me.piitex.renjava.gui.containers.EmptyContainer;
1211
import me.piitex.renjava.gui.overlays.ImageOverlay;
@@ -104,8 +103,8 @@ public InteractableScene(String id, ImageOverlay backgroundImage) {
104103
public Container build(boolean ui) {
105104
Container container = new EmptyContainer(RenJava.CONFIGURATION.getWidth(), RenJava.CONFIGURATION.getHeight());
106105
if (backgroundImage != null) {
107-
backgroundImage.setOrder(DisplayOrder.LOW); // Bg should always be at low priority. They will be pushed to the back of the scene.
108-
container.addOverlays(backgroundImage);
106+
backgroundImage.setIndex(0); // Bg should always be at low priority. They will be pushed to the back of the scene.
107+
container.addElement(backgroundImage);
109108
}
110109

111110
SceneBuildEvent event = new SceneBuildEvent(this, container);

src/main/java/me/piitex/renjava/api/scenes/types/animation/VideoScene.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import me.piitex.renjava.api.scenes.text.StringFormatter;
1111
import me.piitex.renjava.configuration.RenJavaConfiguration;
1212
import me.piitex.renjava.gui.Container;
13-
import me.piitex.renjava.gui.DisplayOrder;
1413
import me.piitex.renjava.gui.StageType;
1514
import me.piitex.renjava.gui.Window;
1615
import me.piitex.renjava.gui.containers.EmptyContainer;
@@ -164,7 +163,7 @@ public Container build(boolean ui) {
164163
mediaOverlay.setHeight(videoHeight);
165164
}
166165
mediaOverlay.setLoop(loop);
167-
container.addOverlay(mediaOverlay);
166+
container.addElement(mediaOverlay);
168167

169168
if (dialogue != null && !dialogue.isEmpty()) {
170169
// Render TextBox
@@ -180,7 +179,7 @@ public Container build(boolean ui) {
180179
Container textboxMenu = new EmptyContainer(0, 0, configuration.getDialogueBoxWidth(), configuration.getDialogueBoxHeight());
181180

182181
ImageOverlay textBoxImage = new ImageOverlay(textbox, configuration.getDialogueBoxX() + configuration.getDialogueOffsetX(), configuration.getDialogueBoxY() + configuration.getDialogueOffsetY());
183-
textboxMenu.addOverlay(textBoxImage);
182+
textboxMenu.addElement(textBoxImage);
184183

185184
LinkedList<Overlay> texts = StringFormatter.formatText(dialogue);
186185
TextFlowOverlay textFlowOverlay;
@@ -195,16 +194,15 @@ public Container build(boolean ui) {
195194
textFlowOverlay.setY(configuration.getTextY() + configuration.getTextOffsetY());
196195
textFlowOverlay.setTextFillColor(configuration.getDialogueColor());
197196
textFlowOverlay.setFont(font);
198-
textboxMenu.addOverlay(textFlowOverlay);
197+
textboxMenu.addElement(textFlowOverlay);
199198

200199
TextOverlay characterText = new TextOverlay(characterDisplay, new FontLoader(configuration.getCharacterDisplayFont(), configuration.getCharacterTextSize()),
201200
configuration.getCharacterTextX() + configuration.getCharacterTextOffsetX(),
202201
configuration.getCharacterTextY() + configuration.getCharacterTextOffsetY());
203202
characterText.setTextFill(character.getColor());
204-
characterText.setOrder(DisplayOrder.HIGH);
205-
textboxMenu.addOverlay(characterText);
203+
textboxMenu.addElement(characterText);
206204

207-
container.addContainers(textboxMenu);
205+
container.addElement(textboxMenu);
208206
}
209207
}
210208
return container;

src/main/java/me/piitex/renjava/api/scenes/types/choices/ChoiceScene.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import me.piitex.renjava.RenJava;
99
import me.piitex.renjava.configuration.RenJavaConfiguration;
1010
import me.piitex.renjava.gui.Container;
11-
import me.piitex.renjava.gui.DisplayOrder;
1211
import me.piitex.renjava.gui.containers.EmptyContainer;
1312
import me.piitex.renjava.gui.containers.ScrollContainer;
1413
import me.piitex.renjava.gui.layouts.VerticalLayout;
@@ -189,9 +188,9 @@ public Container build(boolean ui) {
189188
}
190189

191190
}
192-
backgroundImage.setOrder(DisplayOrder.LOW);
193-
menu.addOverlays(backgroundImage);
194-
menu.addLayout(layout);
191+
backgroundImage.setIndex(0);
192+
menu.addElement(backgroundImage);
193+
menu.addElement(layout);
195194
}
196195
return menu;
197196
}

src/main/java/me/piitex/renjava/api/scenes/types/input/InputScene.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,15 @@
11
package me.piitex.renjava.api.scenes.types.input;
22

3-
import javafx.scene.control.TextField;
4-
import javafx.scene.text.Font;
53
import javafx.scene.text.Text;
64
import me.piitex.renjava.RenJava;
75
import me.piitex.renjava.api.loaders.FontLoader;
86
import me.piitex.renjava.api.loaders.ImageLoader;
97
import me.piitex.renjava.api.scenes.RenScene;
108
import me.piitex.renjava.api.scenes.text.StringFormatter;
11-
import me.piitex.renjava.api.scenes.types.ImageScene;
129
import me.piitex.renjava.configuration.RenJavaConfiguration;
13-
import me.piitex.renjava.events.types.SceneStartEvent;
1410

1511
import me.piitex.renjava.gui.Container;
16-
import me.piitex.renjava.gui.DisplayOrder;
1712
import me.piitex.renjava.gui.StageType;
18-
import me.piitex.renjava.gui.Window;
1913
import me.piitex.renjava.gui.containers.EmptyContainer;
2014
import me.piitex.renjava.gui.overlays.*;
2115
import me.piitex.renjava.gui.overlays.events.IInputSetEvent;
@@ -107,16 +101,16 @@ public IInputSetEvent getSetInterface() {
107101
@Override
108102
public Container build(boolean ui) {
109103
Container container = new EmptyContainer(0, 0,1920, 1080);
110-
loader.setOrder(DisplayOrder.LOW);
111-
container.addOverlays(loader);
104+
loader.setIndex(2);
105+
container.addElement(loader);
112106

113107
if (ui) {
114108
// Textbox
115109
ImageLoader textbox = new ImageLoader("gui/textbox.png");
116110
Container textboxMenu = new EmptyContainer(0, 0, configuration.getDialogueBoxWidth(), configuration.getDialogueBoxHeight());
117111

118112
ImageOverlay textBoxImage = new ImageOverlay(textbox, configuration.getDialogueBoxX() + configuration.getDialogueOffsetX(), configuration.getDialogueBoxY() + configuration.getDialogueOffsetY());
119-
textboxMenu.addOverlay(textBoxImage);
113+
textboxMenu.addElement(textBoxImage);
120114

121115

122116
if (text != null && !text.isEmpty()) {
@@ -140,7 +134,7 @@ public Container build(boolean ui) {
140134
RenJava.getEventHandler().callEvent(event);
141135
});
142136

143-
inputField.setOrder(DisplayOrder.HIGH);
137+
inputField.setIndex(2);
144138

145139
if (font == null) {
146140
// Default font
@@ -151,10 +145,10 @@ public Container build(boolean ui) {
151145

152146
textFlowOverlay.add(inputField);
153147

154-
textboxMenu.addOverlay(textFlowOverlay);
148+
textboxMenu.addElement(textFlowOverlay);
155149

156150

157-
container.addContainers(textboxMenu);
151+
container.addElement(textboxMenu);
158152
}
159153
}
160154

src/main/java/me/piitex/renjava/events/defaults/GameFlowEventListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public void onMouseClick(MouseClickEvent event) {
8585
}
8686

8787
Container menu = renJava.getMainMenu().mainMenu(true);
88-
menu.addContainers(renJava.getMainMenu().sideMenu(true));
88+
menu.addElement(renJava.getMainMenu().sideMenu(true));
8989

9090
MainMenuBuildEvent buildEvent = new MainMenuBuildEvent(menu);
9191
RenJava.getEventHandler().callEvent(buildEvent);
@@ -115,7 +115,7 @@ public void onMouseClick(MouseClickEvent event) {
115115
RenJava.getEventHandler().callEvent(sceneBuildEvent);
116116

117117
window.clearContainers();
118-
window.addContainers(menu);
118+
window.addContainer(menu);
119119
window.render();
120120

121121
player.setRightClickMenu(false);

src/main/java/me/piitex/renjava/events/defaults/MenuClickEventListener.java

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import me.piitex.renjava.events.types.*;
1111
import me.piitex.renjava.gui.Container;
12-
import me.piitex.renjava.gui.DisplayOrder;
1312
import me.piitex.renjava.gui.Window;
1413
import me.piitex.renjava.gui.menus.MainMenu;
1514
import me.piitex.renjava.gui.overlays.ButtonOverlay;
@@ -42,32 +41,33 @@ public void onButtonClick(ButtonClickEvent event) {
4241
RenJava.PLAYER.setCurrentStageType(StageType.LOAD_MENU);
4342

4443
Container load = mainMenu.loadMenu(rightClicked, 1, true); //TODO: Pages
44+
load.setIndex(1);
4545
Container side = mainMenu.sideMenu(rightClicked);
46-
side.setOrder(DisplayOrder.HIGH);
47-
load.addContainers(side);
46+
side.setIndex(2);
47+
load.addElement(side, 10);
4848

4949
gameWindow.clearContainers();
50-
gameWindow.addContainer(load);
50+
gameWindow.addContainer(load, 1);
5151
gameWindow.render();
5252

5353
}
5454
if (button.getId().equalsIgnoreCase("menu-preference-button") && RenJava.PLAYER.getCurrentStageType() != StageType.OPTIONS_MENU) {
5555
RenJava.PLAYER.setCurrentStageType(StageType.OPTIONS_MENU);
5656
Container container = mainMenu.settingMenu(rightClicked);
5757
Container side = mainMenu.sideMenu(rightClicked);
58-
container.addContainer(side);
58+
container.addElement(side, 10);
5959

6060
gameWindow.clearContainers();
6161

62-
gameWindow.addContainer(container);
62+
gameWindow.addContainer(container, 1);
6363
gameWindow.render();
6464
}
6565
if (button.getId().equalsIgnoreCase("menu-about-button") && RenJava.PLAYER.getCurrentStageType() != StageType.ABOUT_MENU) {
6666
RenJava.PLAYER.setCurrentStageType(StageType.ABOUT_MENU);
6767
Container container = mainMenu.aboutMenu(rightClicked);
68+
6869
Container side = mainMenu.sideMenu(rightClicked);
69-
side.setOrder(DisplayOrder.HIGH);
70-
container.addContainer(side);
70+
container.addElement(side); // Should be able to add in the correct order without the need to specify. Will look into it later.
7171

7272
gameWindow.clearContainers();
7373

@@ -79,12 +79,11 @@ public void onButtonClick(ButtonClickEvent event) {
7979

8080
Container menu = mainMenu.loadMenu(rightClicked,1, false); // Builds first page
8181
Container side = mainMenu.sideMenu(rightClicked);
82-
side.setOrder(DisplayOrder.HIGH);
83-
menu.addContainers(side);
82+
menu.addElement(side, 10);
8483

8584
gameWindow.clearContainers();
8685

87-
gameWindow.addContainer(menu);
86+
gameWindow.addContainer(menu, 10);
8887
gameWindow.render();
8988
}
9089
if (button.getId().equalsIgnoreCase("menu-quit-button")) {
@@ -115,10 +114,9 @@ public void onButtonClick(ButtonClickEvent event) {
115114
Container menu = mainMenu.mainMenu(false);
116115
Container side = mainMenu.sideMenu(false);
117116
RenJava.PLAYER.resetSession();
118-
side.setOrder(DisplayOrder.HIGH);
119-
menu.addContainer(side);
117+
menu.addElement(side, 2);
120118
gameWindow.clearContainers();
121-
gameWindow.addContainers(menu);
119+
gameWindow.addContainer(menu, 1);
122120
gameWindow.render();
123121

124122
// Close the prompt
@@ -145,10 +143,9 @@ public void onButtonClick(ButtonClickEvent event) {
145143
Container menu = mainMenu.mainMenu(false);
146144
Container side = mainMenu.sideMenu(false);
147145
RenJava.PLAYER.resetSession();
148-
side.setOrder(DisplayOrder.HIGH);
149-
menu.addContainer(side);
146+
menu.addElement(side, 2);
150147
gameWindow.clearContainers();
151-
gameWindow.addContainers(menu);
148+
gameWindow.addContainer(menu, 1);
152149
gameWindow.render();
153150
}
154151
}

0 commit comments

Comments
 (0)