Removed camera sensors from non-privileged logic

This commit is contained in:
Anuken
2026-08-26 15:00:48 -04:00
parent 82ac6a98a5
commit 17f3d89300
3 changed files with 11 additions and 4 deletions
+8 -1
View File
@@ -87,12 +87,19 @@ public enum LAccess{
public final String[] params;
public final boolean isObj;
public static final EnumSet<LAccess> privilegedAccess = EnumSet.of(cameraX, cameraY, cameraWidth, cameraHeight);
public static final LAccess[]
all = values(),
senseable = Seq.select(all, t -> t.params.length <= 1).toArray(LAccess.class),
senseable = Seq.select(all, t -> t.params.length <= 1 && !t.isPrivileged()).toArray(LAccess.class),
senseablePrivileged = Seq.select(all, t -> t.params.length <= 1).toArray(LAccess.class),
controls = Seq.select(all, t -> t.params.length > 0).toArray(LAccess.class),
settable = {x, y, velocityX, velocityY, rotation, speed, armor, health, shield, team, flag, totalPower, payloadType, bulletTime, bulletLifetime};
public boolean isPrivileged(){
return privilegedAccess.contains(this);
}
LAccess(String... params){
this.params = params;
isObj = false;
+1 -2
View File
@@ -31,7 +31,6 @@ import mindustry.world.blocks.environment.*;
import mindustry.world.blocks.logic.*;
import mindustry.world.blocks.logic.LogicBlock.*;
import mindustry.world.blocks.logic.LogicDisplay.*;
import mindustry.world.blocks.logic.MessageBlock.*;
import mindustry.world.blocks.payloads.*;
import mindustry.world.meta.*;
@@ -694,7 +693,7 @@ public class LExecutor{
if(sense instanceof Content co){
to.setnum(se.sense(co));
return;
}else if(sense instanceof LAccess la){
}else if(sense instanceof LAccess la && (exec.privileged || !la.isPrivileged())){
Object objOut = se.senseObject(la);
if(objOut == Senseable.noSensed){
+2 -1
View File
@@ -629,7 +629,8 @@ public class LStatements{
}),
//sensors
new Table(i -> {
for(LAccess sensor : LAccess.senseable){
boolean currentPrivileged = ui.logic.isShown() && ui.logic.privileged;
for(LAccess sensor : (currentPrivileged ? LAccess.senseablePrivileged : LAccess.senseable)){
i.button(sensor.name(), Styles.flatt, () -> {
stype("@" + sensor.name());
hide.run();