SpelunkyRemake / Snake.h
Snake.h
Raw
#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;
};