Skip to content

Commit 80b0353

Browse files
committed
I think the text parser components went wrong, corrected
1 parent dc0c75f commit 80b0353

13 files changed

+36
-66
lines changed

src/toniarts/openkeeper/game/state/MainMenuState.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
import toniarts.openkeeper.view.PlayerEntityViewState;
7171
import toniarts.openkeeper.view.map.MapViewController;
7272
import toniarts.openkeeper.view.text.TextParser;
73+
import toniarts.openkeeper.view.text.TextParserService;
7374
import toniarts.openkeeper.world.room.control.FrontEndLevelControl;
7475

7576
/**
@@ -161,7 +162,7 @@ protected void updateProgress(float progress) {
161162
if (loadingScreen != null) {
162163
loadingScreen.setProgress(1.0f);
163164
}
164-
mainMenuEntityViewState = new MainMenuEntityViewState(kwdFile, assetManager, mainMenuEntityData, Player.KEEPER1_ID, null, menuNode);
165+
mainMenuEntityViewState = new MainMenuEntityViewState(kwdFile, assetManager, mainMenuEntityData, Player.KEEPER1_ID, new TextParserService(gameController.getGameWorldController().getMapController()), menuNode);
165166
mainMenuEntityViewState.setEnabled(false);
166167
app.getStateManager().attach(mainMenuEntityViewState);
167168

src/toniarts/openkeeper/view/PlayerEntityViewState.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ private Spatial createObjectModel(Entity e) {
192192
if (objectViewState != null) {
193193
result = objectLoader.load(assetManager, objectViewState);
194194
if (result != null) {
195-
EntityViewControl control = new ObjectViewControl(e.getId(), entityData, kwdFile.getObject(objectViewState.objectId), objectViewState, assetManager, textParser);
195+
EntityViewControl control = new ObjectViewControl(e.getId(), entityData, kwdFile.getObject(objectViewState.objectId), objectViewState, assetManager, textParser.getObjectTextParser());
196196
result.addControl(control);
197197

198198
result.setCullHint(objectViewState.visible ? Spatial.CullHint.Inherit : Spatial.CullHint.Always);
@@ -222,7 +222,7 @@ private Spatial createCreatureModel(Entity e) {
222222
Creature creature = kwdFile.getCreature(creatureViewState.creatureId);
223223
result = creatureLoader.load(assetManager, creatureViewState);
224224
if (result != null) {
225-
EntityViewControl control = new CreatureViewControl(e.getId(), entityData, creature, creatureViewState.state, assetManager, textParser);
225+
EntityViewControl control = new CreatureViewControl(e.getId(), entityData, creature, creatureViewState.state, assetManager, textParser.getCreatureTextParser());
226226
result.addControl(control);
227227

228228
CreatureFlowerControl flowerControl = new CreatureFlowerControl(e.getId(), entityData, creature, assetManager);
@@ -253,7 +253,7 @@ private Spatial createDoorModel(Entity e) {
253253
if (doorViewState != null) {
254254
Door door = kwdFile.getDoorById(doorViewState.doorId);
255255
result = doorLoader.load(assetManager, doorViewState);
256-
EntityViewControl control = new DoorViewControl(e.getId(), entityData, door, doorViewState, assetManager, textParser, kwdFile.getObject(door.getKeyObjectId()));
256+
EntityViewControl control = new DoorViewControl(e.getId(), entityData, door, doorViewState, assetManager, textParser.getDoorTextParser(), kwdFile.getObject(door.getKeyObjectId()));
257257
result.addControl(control);
258258

259259
DoorFlowerControl flowerControl = new DoorFlowerControl(e.getId(), entityData, door, assetManager);
@@ -283,7 +283,7 @@ private Spatial createTrapModel(Entity e) {
283283
if (trapViewState != null) {
284284
Trap trap = kwdFile.getTrapById(trapViewState.trapId);
285285
result = trapLoader.load(assetManager, trapViewState);
286-
EntityViewControl control = new TrapViewControl(e.getId(), entityData, trap, trapViewState, assetManager, textParser);
286+
EntityViewControl control = new TrapViewControl(e.getId(), entityData, trap, trapViewState, assetManager, textParser.getTrapTextParser());
287287
result.addControl(control);
288288

289289
TrapFlowerControl flowerControl = new TrapFlowerControl(e.getId(), entityData, trap, assetManager);

src/toniarts/openkeeper/view/PlayerInteractionState.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ private boolean isInteractable() {
400400
//tooltip.setText(room.getTooltip(player.getPlayerId()));
401401
tooltip.setText("");
402402
} else {
403-
tooltip.setText(textParser.parseText(Utils.getMainTextResourceBundle().getString(Integer.toString(terrain.getTooltipStringId())), tile));
403+
tooltip.setText(textParser.getMapTileTextParser().parseText(Utils.getMainTextResourceBundle().getString(Integer.toString(terrain.getTooltipStringId())), tile));
404404
}
405405
} else {
406406
tooltip.setText("");

src/toniarts/openkeeper/view/control/CreatureViewControl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import toniarts.openkeeper.tools.convert.map.Creature;
3131
import toniarts.openkeeper.utils.Utils;
3232
import toniarts.openkeeper.view.animation.AnimationLoader;
33-
import toniarts.openkeeper.view.text.TextParser;
33+
import toniarts.openkeeper.view.text.EntityTextParser;
3434

3535
/**
3636
* View control that is intended specifically for creatures
@@ -40,7 +40,7 @@
4040
public class CreatureViewControl extends EntityViewControl<Creature, Creature.AnimationType> {
4141

4242
public CreatureViewControl(EntityId entityId, EntityData entityData, Creature data, Creature.AnimationType animation,
43-
AssetManager assetManager, TextParser textParser) {
43+
AssetManager assetManager, EntityTextParser<Creature> textParser) {
4444
super(entityId, entityData, data, animation, assetManager, textParser);
4545
}
4646

src/toniarts/openkeeper/view/control/DoorViewControl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import toniarts.openkeeper.utils.AssetUtils;
3232
import toniarts.openkeeper.utils.Utils;
3333
import toniarts.openkeeper.view.animation.AnimationLoader;
34-
import toniarts.openkeeper.view.text.TextParser;
34+
import toniarts.openkeeper.view.text.EntityTextParser;
3535

3636
/**
3737
* View control that is intended specifically for doors
@@ -45,7 +45,7 @@ public class DoorViewControl extends EntityViewControl<Door, DoorViewState> {
4545
private boolean initialized = false;
4646

4747
public DoorViewControl(EntityId entityId, EntityData entityData, Door data, DoorViewState viewState, AssetManager assetManager,
48-
TextParser textParser, GameObject lockObject) {
48+
EntityTextParser<Door> textParser, GameObject lockObject) {
4949
super(entityId, entityData, data, viewState, assetManager, textParser);
5050

5151
this.lockObject = lockObject;

src/toniarts/openkeeper/view/control/EntityViewControl.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import toniarts.openkeeper.utils.AssetUtils;
4242
import toniarts.openkeeper.view.animation.AnimationControl;
4343
import static toniarts.openkeeper.view.map.MapViewController.COLOR_FLASH;
44-
import toniarts.openkeeper.view.text.TextParser;
44+
import toniarts.openkeeper.view.text.EntityTextParser;
4545

4646
/**
4747
* General entity controller, a bridge between entities and view
@@ -58,14 +58,14 @@ public abstract class EntityViewControl<T, S> extends AbstractControl implements
5858
protected S currentState;
5959
protected S targetState;
6060
protected final AssetManager assetManager;
61-
protected final TextParser textParser;
61+
protected final EntityTextParser<T> textParser;
6262
protected boolean isAnimationPlaying = false;
6363

6464
private static final Collection<Class<? extends EntityComponent>> WATCHED_COMPONENTS = Arrays.asList(Interaction.class, Owner.class);
6565

6666
private boolean active = false;
6767

68-
public EntityViewControl(EntityId entityId, EntityData entityData, T data, S state, AssetManager assetManager, TextParser textParser) {
68+
public EntityViewControl(EntityId entityId, EntityData entityData, T data, S state, AssetManager assetManager, EntityTextParser<T> textParser) {
6969
this.entityId = entityId;
7070
this.currentState = state;
7171
this.targetState = state;

src/toniarts/openkeeper/view/control/ObjectViewControl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import toniarts.openkeeper.tools.convert.map.GameObject;
2828
import toniarts.openkeeper.utils.Utils;
2929
import toniarts.openkeeper.view.animation.AnimationLoader;
30-
import toniarts.openkeeper.view.text.TextParser;
30+
import toniarts.openkeeper.view.text.EntityTextParser;
3131

3232
/**
3333
* View control that is intended specifically for objects
@@ -39,7 +39,7 @@ public class ObjectViewControl extends EntityViewControl<GameObject, ObjectViewS
3939
private boolean initialized = false;
4040

4141
public ObjectViewControl(EntityId entityId, EntityData entityData, GameObject data, ObjectViewState state,
42-
AssetManager assetManager, TextParser textParser) {
42+
AssetManager assetManager, EntityTextParser<GameObject> textParser) {
4343
super(entityId, entityData, data, state, assetManager, textParser);
4444
}
4545

src/toniarts/openkeeper/view/control/TrapViewControl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import toniarts.openkeeper.tools.convert.map.Trap;
2929
import toniarts.openkeeper.utils.AssetUtils;
3030
import toniarts.openkeeper.utils.Utils;
31-
import toniarts.openkeeper.view.text.TextParser;
31+
import toniarts.openkeeper.view.text.EntityTextParser;
3232

3333
/**
3434
* View control that is intended specifically for traps
@@ -40,7 +40,7 @@ public class TrapViewControl extends EntityViewControl<Trap, TrapViewState> {
4040
private boolean initialized = false;
4141

4242
public TrapViewControl(EntityId entityId, EntityData entityData, Trap data, TrapViewState viewState,
43-
AssetManager assetManager, TextParser textParser) {
43+
AssetManager assetManager, EntityTextParser<Trap> textParser) {
4444
super(entityId, entityData, data, viewState, assetManager, textParser);
4545
}
4646

src/toniarts/openkeeper/view/text/CreatureTextParser.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ private static String getTaskTooltip(TaskComponent taskComponent, IMapInformatio
204204
}
205205

206206
@Override
207-
protected Collection<Class<? extends EntityComponent>> getWatchedComponents() {
207+
public Collection<Class<? extends EntityComponent>> getWatchedComponents() {
208208
Collection<Class<? extends EntityComponent>> components = super.getWatchedComponents();
209209

210210
components.add(TaskComponent.class);

src/toniarts/openkeeper/view/text/DoorTextParser.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ protected String getReplacement(int index, Entity entity, Door door) {
5151
}
5252

5353
@Override
54-
protected Collection<Class<? extends EntityComponent>> getWatchedComponents() {
54+
public Collection<Class<? extends EntityComponent>> getWatchedComponents() {
5555
Collection<Class<? extends EntityComponent>> components = super.getWatchedComponents();
5656

5757
components.add(DoorComponent.class);

src/toniarts/openkeeper/view/text/EntityTextParser.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ protected String getReplacement(int index, Entity entity, T dataObject) {
6161
return "Parameter " + index + " not implemented!";
6262
}
6363

64-
protected Collection<Class<? extends EntityComponent>> getWatchedComponents() {
64+
public Collection<Class<? extends EntityComponent>> getWatchedComponents() {
6565
List<Class<? extends EntityComponent>> components = new ArrayList<>();
6666
components.add(Health.class);
6767
components.add(Gold.class);

src/toniarts/openkeeper/view/text/TextParser.java

+5-16
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,21 @@
1616
*/
1717
package toniarts.openkeeper.view.text;
1818

19-
import com.simsilica.es.Entity;
20-
import com.simsilica.es.EntityComponent;
21-
import java.util.Collection;
22-
import toniarts.openkeeper.game.map.IMapTileInformation;
23-
import toniarts.openkeeper.tools.convert.map.Creature;
24-
import toniarts.openkeeper.tools.convert.map.Door;
25-
import toniarts.openkeeper.tools.convert.map.GameObject;
26-
import toniarts.openkeeper.tools.convert.map.Trap;
27-
2819
/**
2920
* Provides text parsing services for users
3021
*
3122
* @author Toni Helenius <[email protected]>
3223
*/
3324
public interface TextParser {
3425

35-
String parseText(String text, Entity entity, Creature creature);
36-
37-
String parseText(String text, Entity entity, Trap trap);
26+
CreatureTextParser getCreatureTextParser();
3827

39-
String parseText(String text, Entity entity, Door door);
28+
TrapTextParser getTrapTextParser();
4029

41-
String parseText(String text, Entity entity, GameObject gameObject);
30+
DoorTextParser getDoorTextParser();
4231

43-
String parseText(String text, IMapTileInformation mapTile);
32+
ObjectTextParser getObjectTextParser();
4433

45-
Collection<Class<? extends EntityComponent>> getWatchedComponents();
34+
MapTileTextParser getMapTileTextParser();
4635

4736
}

src/toniarts/openkeeper/view/text/TextParserService.java

+10-30
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,7 @@
1616
*/
1717
package toniarts.openkeeper.view.text;
1818

19-
import com.simsilica.es.Entity;
20-
import com.simsilica.es.EntityComponent;
21-
import java.util.ArrayList;
22-
import java.util.Collection;
23-
import java.util.List;
2419
import toniarts.openkeeper.game.map.IMapInformation;
25-
import toniarts.openkeeper.game.map.IMapTileInformation;
26-
import toniarts.openkeeper.tools.convert.map.Creature;
27-
import toniarts.openkeeper.tools.convert.map.Door;
28-
import toniarts.openkeeper.tools.convert.map.GameObject;
29-
import toniarts.openkeeper.tools.convert.map.Trap;
3020

3121
/**
3222
* A kind of facade to the different kind of parsers. Many of them share the
@@ -51,37 +41,27 @@ public TextParserService(IMapInformation mapInformation) {
5141
}
5242

5343
@Override
54-
public String parseText(String text, Entity entity, Creature creature) {
55-
return creatureTextParser.parseText(text, entity, creature);
44+
public CreatureTextParser getCreatureTextParser() {
45+
return creatureTextParser;
5646
}
5747

5848
@Override
59-
public String parseText(String text, Entity entity, Trap trap) {
60-
return trapTextParser.parseText(text, entity, trap);
49+
public TrapTextParser getTrapTextParser() {
50+
return trapTextParser;
6151
}
6252

6353
@Override
64-
public String parseText(String text, Entity entity, Door door) {
65-
return doorTextParser.parseText(text, entity, door);
54+
public DoorTextParser getDoorTextParser() {
55+
return doorTextParser;
6656
}
6757

6858
@Override
69-
public String parseText(String text, Entity entity, GameObject gameObject) {
70-
return objectTextParser.parseText(text, entity, gameObject);
59+
public ObjectTextParser getObjectTextParser() {
60+
return objectTextParser;
7161
}
7262

7363
@Override
74-
public String parseText(String text, IMapTileInformation mapTile) {
75-
return mapTileTextParser.parseText(text, mapTile);
64+
public MapTileTextParser getMapTileTextParser() {
65+
return mapTileTextParser;
7666
}
77-
78-
@Override
79-
public Collection<Class<? extends EntityComponent>> getWatchedComponents() {
80-
List<Class<? extends EntityComponent>> components = new ArrayList<>();
81-
82-
components.addAll(creatureTextParser.getWatchedComponents());
83-
84-
return components;
85-
}
86-
8767
}

0 commit comments

Comments
 (0)