Add sensor for player camera (#9103)
* Add sensor for player camera * Fix sensor for player camera
This commit is contained in:
@@ -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 controlled -> this instanceof ControlBlock c && c.isControlled() ? GlobalVars.ctrlPlayer : 0;
|
||||||
case payloadCount -> getPayload() != null ? 1 : 0;
|
case payloadCount -> getPayload() != null ? 1 : 0;
|
||||||
case size -> block.size;
|
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
|
default -> Float.NaN; //gets converted to null in logic
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -222,6 +222,10 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
case range -> range() / tilesize;
|
case range -> range() / tilesize;
|
||||||
case shootX -> World.conv(aimX());
|
case shootX -> World.conv(aimX());
|
||||||
case shootY -> World.conv(aimY());
|
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 mining -> mining() ? 1 : 0;
|
||||||
case mineX -> mining() ? mineTile.x : -1;
|
case mineX -> mining() ? mineTile.x : -1;
|
||||||
case mineY -> mining() ? mineTile.y : -1;
|
case mineY -> mining() ? mineTile.y : -1;
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ public enum LAccess{
|
|||||||
y,
|
y,
|
||||||
shootX,
|
shootX,
|
||||||
shootY,
|
shootY,
|
||||||
|
cameraX,
|
||||||
|
cameraY,
|
||||||
|
cameraWidth,
|
||||||
|
cameraHeight,
|
||||||
size,
|
size,
|
||||||
dead,
|
dead,
|
||||||
range,
|
range,
|
||||||
|
|||||||
Reference in New Issue
Block a user