mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-10-01 18:50:27 +03:00
Fixed logic privileged access check
This commit is contained in:
@@ -86,8 +86,9 @@ public enum LAccess{
|
||||
|
||||
public final String[] params;
|
||||
public final boolean isObj;
|
||||
public boolean privileged;
|
||||
|
||||
public static final EnumSet<LAccess> privilegedAccess = EnumSet.of(cameraX, cameraY, cameraWidth, cameraHeight);
|
||||
private static final ObjectSet<LAccess> privilegedAccess = ObjectSet.with(cameraX, cameraY, cameraWidth, cameraHeight);
|
||||
|
||||
public static final LAccess[]
|
||||
all = values(),
|
||||
@@ -96,8 +97,12 @@ public enum LAccess{
|
||||
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);
|
||||
static{
|
||||
privilegedAccess.each(l -> l.privileged = privilegedAccess.contains(l));
|
||||
}
|
||||
|
||||
private boolean isPrivileged(){
|
||||
return privileged = privilegedAccess.contains(this);
|
||||
}
|
||||
|
||||
LAccess(String... params){
|
||||
|
||||
@@ -693,7 +693,7 @@ public class LExecutor{
|
||||
if(sense instanceof Content co){
|
||||
to.setnum(se.sense(co));
|
||||
return;
|
||||
}else if(sense instanceof LAccess la && (exec.privileged || !la.isPrivileged())){
|
||||
}else if(sense instanceof LAccess la && (exec.privileged || !la.privileged)){
|
||||
Object objOut = se.senseObject(la);
|
||||
|
||||
if(objOut == Senseable.noSensed){
|
||||
|
||||
Reference in New Issue
Block a user