#pragma once #include #include #include #include #include namespace fs = std::filesystem; struct HitObjectDrawable : public sf::Drawable { TextureManager &tman; sf::Sprite hitCircleSprite; sf::Sprite numberSprite; sf::Sprite hitCircleOverlaySprite; sf::Sprite approachCircleSprite; HitObject hitObject; // all in milliseconds float fadeIn; float preempt; float time; float timer; virtual void draw(sf::RenderTarget &target, sf::RenderStates states) const; public: HitObjectDrawable(TextureManager &tman, const HitObject &hitObject, const DifficultySettings &diff, const uint comboCount); void update(const float deltaTime); };