Add sensor for player camera (#9103)

* Add sensor for player camera

* Fix sensor for player camera
This commit is contained in:
Redstonneur1256 2023-09-28 07:48:38 +02:00 committed by GitHub
parent 198d18bac4
commit 4ddd1f7ca0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 0 deletions

View File

@ -1924,6 +1924,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
case controlled -> this instanceof ControlBlock c && c.isControlled() ? GlobalVars.ctrlPlayer : 0;
case payloadCount -> getPayload() != null ? 1 : 0;
case size -> block.size;
case cameraX, cameraY, cameraWidth, cameraHeight -> this instanceof ControlBlock c ? c.unit().sense(sensor) : 0;
default -> Float.NaN; //gets converted to null in logic
};
}

View File

@ -222,6 +222,10 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
case range -> range() / tilesize;
case shootX -> World.conv(aimX());
case shootY -> World.conv(aimY());
case cameraX -> controller instanceof Player player ? World.conv(player.con == null ? Core.camera.position.x : player.con.viewX) : 0;
case cameraY -> controller instanceof Player player ? World.conv(player.con == null ? Core.camera.position.y : player.con.viewY) : 0;
case cameraWidth -> controller instanceof Player player ? World.conv(player.con == null ? Core.camera.width : player.con.viewWidth) : 0;
case cameraHeight -> controller instanceof Player player ? World.conv(player.con == null ? Core.camera.height : player.con.viewHeight) : 0;
case mining -> mining() ? 1 : 0;
case mineX -> mining() ? mineTile.x : -1;
case mineY -> mining() ? mineTile.y : -1;

View File

@ -29,6 +29,10 @@ public enum LAccess{
y,
shootX,
shootY,
cameraX,
cameraY,
cameraWidth,
cameraHeight,
size,
dead,
range,