BuildVisibility non-enum / Canvas is now shown
This commit is contained in:
@@ -119,11 +119,21 @@ public class CommandAI extends AIController{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean noBoost = true;
|
||||||
|
|
||||||
if(targetPos != null){
|
if(targetPos != null){
|
||||||
boolean move = true;
|
boolean move = true;
|
||||||
vecOut.set(targetPos);
|
vecOut.set(targetPos);
|
||||||
|
|
||||||
if(unit.isGrounded()){
|
//boosting units with RTS controls are incredibly buggy and hard to use. there's no clear way for units to know where to land to approach or attack something
|
||||||
|
boolean tryBoosting = false;//unit.type.canBoost && (attackTarget == null || !unit.within(attackTarget, unit.type.range));
|
||||||
|
//noBoost = false;
|
||||||
|
|
||||||
|
if(tryBoosting){
|
||||||
|
unit.updateBoosting(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(unit.isGrounded() && !tryBoosting){
|
||||||
move = Vars.controlPath.getPathPosition(unit, pathId, targetPos, vecOut);
|
move = Vars.controlPath.getPathPosition(unit, pathId, targetPos, vecOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -175,6 +185,10 @@ public class CommandAI extends AIController{
|
|||||||
}else if(target != null){
|
}else if(target != null){
|
||||||
faceTarget();
|
faceTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(noBoost){
|
||||||
|
unit.updateBoosting(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5801,7 +5801,7 @@ public class Blocks{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
canvas = new CanvasBlock("canvas"){{
|
canvas = new CanvasBlock("canvas"){{
|
||||||
requirements(Category.logic, BuildVisibility.debugOnly, with(Items.silicon, 50));
|
requirements(Category.logic, BuildVisibility.shown, with(Items.silicon, 40, Items.graphite, 10));
|
||||||
|
|
||||||
canvasSize = 12;
|
canvasSize = 12;
|
||||||
padding = 7f / 4f * 2f;
|
padding = 7f / 4f * 2f;
|
||||||
|
|||||||
@@ -63,6 +63,10 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateBoosting(boolean boost){
|
||||||
|
elevation = Mathf.approachDelta(elevation, type.canBoost ? Mathf.num(boost || onSolid() || (isFlying() && !canLand())) : 0f, type.riseSpeed);
|
||||||
|
}
|
||||||
|
|
||||||
/** Move based on preferred unit movement type. */
|
/** Move based on preferred unit movement type. */
|
||||||
public void movePref(Vec2 movement){
|
public void movePref(Vec2 movement){
|
||||||
if(type.omniMovement){
|
if(type.omniMovement){
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ public class ContentParser{
|
|||||||
put(Blending.class, (type, data) -> field(Blending.class, data));
|
put(Blending.class, (type, data) -> field(Blending.class, data));
|
||||||
put(CacheLayer.class, (type, data) -> field(CacheLayer.class, data));
|
put(CacheLayer.class, (type, data) -> field(CacheLayer.class, data));
|
||||||
put(Attribute.class, (type, data) -> Attribute.get(data.asString()));
|
put(Attribute.class, (type, data) -> Attribute.get(data.asString()));
|
||||||
|
put(BuildVisibility.class, (type, data) -> field(BuildVisibility.class, data));
|
||||||
put(Schematic.class, (type, data) -> {
|
put(Schematic.class, (type, data) -> {
|
||||||
Object result = fieldOpt(Loadouts.class, data);
|
Object result = fieldOpt(Loadouts.class, data);
|
||||||
if(result != null){
|
if(result != null){
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import static mindustry.Vars.*;
|
|||||||
public class CanvasBlock extends Block{
|
public class CanvasBlock extends Block{
|
||||||
public float padding = 0f;
|
public float padding = 0f;
|
||||||
public int canvasSize = 8;
|
public int canvasSize = 8;
|
||||||
public int[] palette = {0x634b7dff, 0xc45d9f_ff, 0xe39aac_ff, 0xf0dab1_ff, 0x6461c2_ff, 0x2ba9b4_ff, 0x93d4b5_ff, 0xf0f6e8_ff};
|
public int[] palette = {0x634b7d_ff, 0xc45d9f_ff, 0xe39aac_ff, 0xf0dab1_ff, 0x6461c2_ff, 0x2ba9b4_ff, 0x93d4b5_ff, 0xf0f6e8_ff};
|
||||||
public int bitsPerPixel;
|
public int bitsPerPixel;
|
||||||
public IntIntMap colorToIndex = new IntIntMap();
|
public IntIntMap colorToIndex = new IntIntMap();
|
||||||
|
|
||||||
|
|||||||
@@ -4,17 +4,19 @@ import arc.func.*;
|
|||||||
import mindustry.*;
|
import mindustry.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
|
|
||||||
public enum BuildVisibility{
|
public class BuildVisibility{
|
||||||
hidden(() -> false),
|
public static final BuildVisibility
|
||||||
shown(() -> true),
|
|
||||||
debugOnly(() -> false),
|
hidden = new BuildVisibility(() -> false),
|
||||||
editorOnly(() -> Vars.state.rules.editor),
|
shown = new BuildVisibility(() -> true),
|
||||||
sandboxOnly(() -> Vars.state == null || Vars.state.rules.infiniteResources),
|
debugOnly = new BuildVisibility(() -> false),
|
||||||
campaignOnly(() -> Vars.state == null || Vars.state.isCampaign()),
|
editorOnly = new BuildVisibility(() -> Vars.state.rules.editor),
|
||||||
lightingOnly(() -> Vars.state == null || Vars.state.rules.lighting || Vars.state.isCampaign()),
|
sandboxOnly = new BuildVisibility(() -> Vars.state == null || Vars.state.rules.infiniteResources),
|
||||||
berylliumOnly(() -> !Vars.state.rules.hiddenBuildItems.contains(Items.beryllium)),
|
campaignOnly = new BuildVisibility(() -> Vars.state == null || Vars.state.isCampaign()),
|
||||||
ammoOnly(() -> Vars.state == null || Vars.state.rules.unitAmmo),
|
lightingOnly = new BuildVisibility(() -> Vars.state == null || Vars.state.rules.lighting || Vars.state.isCampaign()),
|
||||||
fogOnly(() -> Vars.state == null || Vars.state.rules.fog || Vars.state.rules.editor);
|
berylliumOnly = new BuildVisibility(() -> !Vars.state.rules.hiddenBuildItems.contains(Items.beryllium)),
|
||||||
|
ammoOnly = new BuildVisibility(() -> Vars.state == null || Vars.state.rules.unitAmmo),
|
||||||
|
fogOnly = new BuildVisibility(() -> Vars.state == null || Vars.state.rules.fog || Vars.state.rules.editor);
|
||||||
|
|
||||||
private final Boolp visible;
|
private final Boolp visible;
|
||||||
|
|
||||||
@@ -22,7 +24,7 @@ public enum BuildVisibility{
|
|||||||
return visible.get();
|
return visible.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildVisibility(Boolp visible){
|
public BuildVisibility(Boolp visible){
|
||||||
this.visible = visible;
|
this.visible = visible;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user