Skip to content
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

Explore separation of interaction system into logical/physical #5

Open
SnowyCoder opened this issue Oct 6, 2020 · 0 comments
Open
Labels
bug Something isn't working hard A bigger issue, will need substantial rewrite of code

Comments

@SnowyCoder
Copy link
Owner

Now the interaction system handles all kinds of interaction, but that might not be the best thing as it requires a lot of hacks and workarounds.
As an example: pins are logically points with no dimensions, but they should be selectable. To do this the clicks used to query the selected entities are queried as circles. But if you look at things like background images they should not be queried with circles (if you click near an image, but not in the image, it should NOT be selected).
So what, you may naively ask, just make the pin a circle instead of a point.
This is even more destructive as systems like the visibility system query the interaction system to know if a pin is visible by a visibility polygon.

The thing I'm exploring as the "perfect solution" is to divide the spaces in two:

  • A logical space, which represents each item as it is in code (pin -> point)
  • A physical/interaction space, which represents each item as the interaction shape (pin -> circle)

But will this really help? What should each entity be in the physical space (wall -> two circles connected by an OBB?).

@SnowyCoder SnowyCoder added bug Something isn't working hard A bigger issue, will need substantial rewrite of code labels Oct 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working hard A bigger issue, will need substantial rewrite of code
Projects
None yet
Development

No branches or pull requests

1 participant