Fixed some messed-up objectives
This commit is contained in:
Binary file not shown.
@@ -42,7 +42,12 @@ public class MapObjectivesDialog extends BaseDialog{
|
|||||||
setProvider(String.class, (type, cons) -> cons.get(""));
|
setProvider(String.class, (type, cons) -> cons.get(""));
|
||||||
setInterpreter(String.class, (cont, name, type, field, remover, indexer, get, set) -> {
|
setInterpreter(String.class, (cont, name, type, field, remover, indexer, get, set) -> {
|
||||||
name(cont, name, remover, indexer);
|
name(cont, name, remover, indexer);
|
||||||
cont.area(get.get(), set).growX();
|
|
||||||
|
if(field != null && field.isAnnotationPresent(Multiline.class)){
|
||||||
|
cont.area(get.get(), set).height(85f).growX();
|
||||||
|
}else{
|
||||||
|
cont.field(get.get(), set).growX();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
setProvider(boolean.class, (type, cons) -> cons.get(false));
|
setProvider(boolean.class, (type, cons) -> cons.get(false));
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
|
|
||||||
/** Base abstract class for any in-map objective. */
|
/** Base abstract class for any in-map objective. */
|
||||||
public static abstract class MapObjective{
|
public static abstract class MapObjective{
|
||||||
public @Nullable String details;
|
public @Nullable @Multiline String details;
|
||||||
public @Unordered String[] flagsAdded = {};
|
public @Unordered String[] flagsAdded = {};
|
||||||
public @Unordered String[] flagsRemoved = {};
|
public @Unordered String[] flagsRemoved = {};
|
||||||
public ObjectiveMarker[] markers = {};
|
public ObjectiveMarker[] markers = {};
|
||||||
@@ -428,7 +428,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class TimerObjective extends MapObjective{
|
public static class TimerObjective extends MapObjective{
|
||||||
public String text;
|
public @Multiline String text;
|
||||||
public @Second float duration = 60f * 30f;
|
public @Second float duration = 60f * 30f;
|
||||||
|
|
||||||
protected float countup;
|
protected float countup;
|
||||||
@@ -555,7 +555,8 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
|
|
||||||
/** Wait until a logic flag is set. */
|
/** Wait until a logic flag is set. */
|
||||||
public static class FlagObjective extends MapObjective{
|
public static class FlagObjective extends MapObjective{
|
||||||
public String flag = "flag", text;
|
public String flag = "flag";
|
||||||
|
public @Multiline String text;
|
||||||
|
|
||||||
public FlagObjective(String flag, String text){
|
public FlagObjective(String flag, String text){
|
||||||
this.flag = flag;
|
this.flag = flag;
|
||||||
@@ -611,7 +612,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
|
|
||||||
/** Displays text above a shape. */
|
/** Displays text above a shape. */
|
||||||
public static class ShapeTextMarker extends ObjectiveMarker{
|
public static class ShapeTextMarker extends ObjectiveMarker{
|
||||||
public String text = "frog";
|
public @Multiline String text = "frog";
|
||||||
public @TilePos Vec2 pos = new Vec2();
|
public @TilePos Vec2 pos = new Vec2();
|
||||||
public float fontSize = 1f, textHeight = 7f;
|
public float fontSize = 1f, textHeight = 7f;
|
||||||
public @LabelFlag byte flags = WorldLabel.flagBackground | WorldLabel.flagOutline;
|
public @LabelFlag byte flags = WorldLabel.flagBackground | WorldLabel.flagOutline;
|
||||||
@@ -748,7 +749,7 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
|
|
||||||
/** Displays text at a location. */
|
/** Displays text at a location. */
|
||||||
public static class TextMarker extends ObjectiveMarker{
|
public static class TextMarker extends ObjectiveMarker{
|
||||||
public String text = "uwu";
|
public @Multiline String text = "uwu";
|
||||||
public @TilePos Vec2 pos = new Vec2();
|
public @TilePos Vec2 pos = new Vec2();
|
||||||
public float fontSize = 1f;
|
public float fontSize = 1f;
|
||||||
public @LabelFlag byte flags = WorldLabel.flagBackground | WorldLabel.flagOutline;
|
public @LabelFlag byte flags = WorldLabel.flagBackground | WorldLabel.flagOutline;
|
||||||
@@ -799,6 +800,11 @@ public class MapObjectives implements Iterable<MapObjective>, Eachable<MapObject
|
|||||||
@Retention(RUNTIME)
|
@Retention(RUNTIME)
|
||||||
public @interface Synthetic{}
|
public @interface Synthetic{}
|
||||||
|
|
||||||
|
/** For {@link String}; indicates that a text area should be used. */
|
||||||
|
@Target(FIELD)
|
||||||
|
@Retention(RUNTIME)
|
||||||
|
public @interface Multiline{}
|
||||||
|
|
||||||
/** For {@code float}; multiplies the UI input by 60. */
|
/** For {@code float}; multiplies the UI input by 60. */
|
||||||
@Target(FIELD)
|
@Target(FIELD)
|
||||||
@Retention(RUNTIME)
|
@Retention(RUNTIME)
|
||||||
|
|||||||
@@ -48,8 +48,8 @@ public class BlockRenderer{
|
|||||||
private IntSet darkEvents = new IntSet();
|
private IntSet darkEvents = new IntSet();
|
||||||
private IntSet procLinks = new IntSet(), procLights = new IntSet();
|
private IntSet procLinks = new IntSet(), procLights = new IntSet();
|
||||||
|
|
||||||
private BlockQuadtree blockTree;
|
private BlockQuadtree blockTree = new BlockQuadtree(new Rect(0, 0, 1, 1));
|
||||||
private FloorQuadtree floorTree;
|
private FloorQuadtree floorTree = new FloorQuadtree(new Rect(0, 0, 1, 1));
|
||||||
|
|
||||||
public BlockRenderer(){
|
public BlockRenderer(){
|
||||||
|
|
||||||
|
|||||||
@@ -782,7 +782,7 @@ public class HudFragment{
|
|||||||
|
|
||||||
String text = obj.text();
|
String text = obj.text();
|
||||||
if(text != null){
|
if(text != null){
|
||||||
if(!first) builder.append('\n');
|
if(!first) builder.append("\n[white]");
|
||||||
builder.append(text);
|
builder.append(text);
|
||||||
|
|
||||||
first = false;
|
first = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user