Open lavinrp opened 3 years ago
@gyurgyma This is actually pretty bad, so I'm putting it as part of our short 0.4.2 sprint.
We should put the work mentioned under "Additional Context" into its own feature request. That can be pushed back to a later sprint if we want.
Describe the bug It is currently a bug to treat GB::CompoundSprite as a sf::Transformable pointer or reference. Doing so and performing any transforms will move the CompoundSprite without updating any of its components.
To Reproduce Steps to reproduce the behavior:
Expected behavior Any time the GB::CompoundSprite moves it should update its components. Since sf::Transformable does not provide virtual functions the best we can do here is not compile.
Additional context Since we will often want some level of polymorphism over transformables we should provide a GB::Transformable concept / type trait. Perhaps it would be worth making our transformable wrapper from CompoundSprite public too.