Client for playing 300 publicly available Sokoban puzzles on a computer or phone.

manually maintain mouse button press state

Just checking mouse.isDown works if the editor is the entirety of the app, as is true in this fork. However, we often want to introduce other widgets. We'd like tapping on them to not cause the selection to flash: https://news.ycombinator.com/context?id=38404923&submission=38397715

The right architecture to enforce this is: have each layer of the UI maintain its own state machine between mouse_press and mouse_release events. And only check the state machine in the next level down rather than lower layers or the bottommost layer of raw LÖVE.

Created by  akkartik  on December 2, 2023
XZ6QVCTTDQSCNGY352CFHBUYSJ3YQCTRI2S6V5XITY35B42QTCJQC
Change contents