-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement brick picking logic #21
Comments
Waiting on this particular issue: rozniak/rzxe#21 |
Feature sorted in rzxe, this issue can now go ahead. |
@Aaronlcj I know you had brick picking in your fork... have you a gist or something on what the logic is? I've tried drafting some ideas about how it works, I'm just struggling to think of a good way to do it. The original game seems to know which direction you can pop brick off (indicated by mouse cursor). I was thinking of building 'trees' of connected bricks but it seems quite complex, I dunno if perhaps I'm overthinking it... |
I have put together some logic just now for the brick picking - just writing up some unit tests to check how this performs against the above cases. |
First little unit test for checking the direction bricks can be disconnected in the first bridge case is now passing. On the way to writing tests for the other cases and getting this feature finished. 😁 |
All tests are now passing for pickup! The remainder:
|
Isometric view code still needs some work - there is a method Don't know whether to keep the grid cell option as well... or whether to just do this viewport based thing only. Will have a think about it. EDIT: |
Next step is to implement the brick picking and placement logic. There are some rules on being able to pick bricks, along with which bricks are taken alongside the brick selected. Will need to play the game to do some testing to see what the rules might be.
I am also marking this as
wait-submodule
because picked bricks need to be rendered semi-transparent which is not yet supported by rzxe.The text was updated successfully, but these errors were encountered: