Sensor operating on incorrect tile of a tileable display (#11069)

* Sensor operating on incorrect tile of a tileable display

* Moved rootDisplay to LogicDisplayBuild
This commit is contained in:
Cardillan
2025-07-27 16:47:44 +02:00
committed by GitHub
parent 5691d46199
commit 9ea4af779e
2 changed files with 4 additions and 4 deletions

View File

@@ -73,6 +73,8 @@ public class LogicDisplay extends Block{
} }
public class LogicDisplayBuild extends Building{ public class LogicDisplayBuild extends Building{
//The root display (bottom left corner of display for tileable displays)
public LogicDisplayBuild rootDisplay = this;
public @Nullable FrameBuffer buffer; public @Nullable FrameBuffer buffer;
public float color = Color.whiteFloatBits; public float color = Color.whiteFloatBits;
public float stroke = 1f; public float stroke = 1f;
@@ -111,8 +113,8 @@ public class LogicDisplay extends Block{
public double sense(LAccess sensor){ public double sense(LAccess sensor){
return switch(sensor){ return switch(sensor){
case displayWidth, displayHeight -> displaySize; case displayWidth, displayHeight -> displaySize;
case bufferSize -> commands.size; case bufferSize -> rootDisplay.commands.size;
case operations -> operations; case operations -> rootDisplay.operations;
default -> super.sense(sensor); default -> super.sense(sensor);
}; };
} }

View File

@@ -118,8 +118,6 @@ public class TileableLogicDisplay extends LogicDisplay{
} }
public class TileableLogicDisplayBuild extends LogicDisplayBuild{ public class TileableLogicDisplayBuild extends LogicDisplayBuild{
//bottom left corner of display
public TileableLogicDisplayBuild rootDisplay = this;
//size of display area //size of display area
public int tilesWidth = 1, tilesHeight = 1, originX, originY; public int tilesWidth = 1, tilesHeight = 1, originX, originY;
public @Nullable Seq<MergeBuffer> prevBuffers; public @Nullable Seq<MergeBuffer> prevBuffers;