Better objective indicators for 3rd map

This commit is contained in:
Anuken
2022-04-29 10:08:50 -04:00
parent 636f464f95
commit e3c1b7ba30
4 changed files with 29 additions and 8 deletions

View File

@@ -206,12 +206,23 @@ public class SectorPresets{
difficulty = 5;
rules = r -> {
float rad = 52f;
r.objectives.addAll(
new DestroyBlocksObjective(Blocks.coreBastion, Team.malis, Point2.pack(290,501), Point2.pack(158,496))
.withFlags("nukeannounce"),
new TimerObjective("@objective.nuclearlaunch", 4 * 60 * 60).withMarkers(
new TextMarker("[red]Evacuate immediately.", 338 * 8f, 378 * 8f),
new MinimapMarker(338, 378, 50f, 14f, Pal.remove)
new MinimapMarker(338, 377, rad, 14f, Pal.remove),
new ShapeMarker(338 * 8, 377 * 8f){{
radius = rad * 8f;
fill = true;
color = Pal.remove.cpy().mul(0.8f).a(0.3f);
sides = 90;
}},
new ShapeMarker(338 * 8, 377 * 8f){{
radius = rad * 8f;
color = Pal.remove;
sides = 90;
}}
).withFlags("nuke1")
);
};

View File

@@ -525,7 +525,8 @@ public class MapObjectives{
/** Displays a shape with an outline and color. */
public static class ShapeMarker extends ObjectiveMarker{
public float x, y, radius = 6f, rotation = 0f;
public float x, y, radius = 6f, rotation = 0f, stroke = 1f;
public boolean fill = false, outline = true;
public int sides = 4;
public Color color = Pal.accent;
@@ -546,10 +547,19 @@ public class MapObjectives{
@Override
public void draw(){
Lines.stroke(3f, Pal.gray);
Lines.poly(x, y, sides, radius + 1f, rotation);
Lines.stroke(1f, color);
Lines.poly(x, y, sides, radius + 1f, rotation);
if(!fill){
if(outline){
Lines.stroke(stroke + 2f, Pal.gray);
Lines.poly(x, y, sides, radius + 1f, rotation);
}
Lines.stroke(stroke, color);
Lines.poly(x, y, sides, radius + 1f, rotation);
}else{
Draw.color(color);
Fill.poly(x, y, sides, radius);
}
Draw.reset();
}
}

View File

@@ -230,7 +230,7 @@ public class MinimapRenderer{
}
public float scale(float radius){
return (radius / (baseSize / 2f)) * 5f * lastScl;
return worldSpace ? (radius / (baseSize / 2f)) * 5f * lastScl : lastW / rect.width * radius;
}
public @Nullable TextureRegion getRegion(){