BubbleBobbleRemake / BubbleBobble / PickupComponent.h
PickupComponent.h
Raw
#pragma once
#include "Component.h"

class ISoundSystem;

namespace dae
{
	enum PickupId : unsigned
	{
		WATERMELON,
		FRIES,
		BANANA
	};

	class PlayerComponent;
	class ColliderComponent;
	class TextureComponent;
	class PickupComponent : public Component
	{
	public:
		PickupComponent(PickupId pickupId, float startX, float startY, const std::vector<ColliderComponent*>& pPlayerColliders);
		~PickupComponent();

		void Initialize() override;

		void Update(float deltaTime) override;
		void FixedUpdate(float deltaTime) override;
		void Render() const override {};

	private:
		PickupId m_PickupId{};
		float m_StartX{};
		float m_StartY{};
		const std::vector<ColliderComponent*>& m_pPlayerColliders;

		ColliderComponent* m_pCollider{ nullptr };
		TextureComponent* m_pTextureComp{ nullptr };
		//LevelComponent* m_pLevelComponent{ nullptr };
		
		ISoundSystem* m_pSoundSystem{ nullptr };
	};
}