#pragma once #include "Enemy.h" #include "SoundEffect.h" class Snake : public Enemy { public: enum class ActionState { IDLE, MOVING, ATTACKING }; Snake(int x, int y); Snake(const Point2f& pos); virtual ~Snake(); virtual void Draw() const override; virtual void Update(float elapsedSec, const Level& level, Player* pPlayer, ParticleManager* pParticleManager) override; void SetAction(ActionState action); static Texture* m_pTextures; protected: ActionState m_ActionState; float m_AttackTimer; const float m_AttackDuration; const float m_MoveSpeed; SoundEffect m_AttackSFX; private: static int m_Count; };