#pragma once
#include "EntityState.h"
#include "CS_CurlyEnergyShieldCircle.h"
extern const int CS_CurlySTATENAME_SHIELD;
//技能：使用能量护盾
class CS_CurlyEnergyShield :
	public EntitySkillState
{
public:
	CS_CurlyEnergyShield();
	const wchar_t* GetSaveName() override;
	const wchar_t* GetFuncName() override;
	const wchar_t* GetCheckFuncName() override;
	void SubStep() override;
	void ChangeStateMsg(int stateID) override;
	bool Hurt(std::weak_ptr<Entity> src, int* pGetDamage, float* pAngle, bool* pTakedown, int* pElemType,
		float* pShockForce, float* pHeavy, int* outRealDamage, bool* outRetVal) override;
	bool bEnableShield = false;
	int shield_counter = 0;
	int shield_counter_max = 30;//1点能量换30秒护盾时间
	std::weak_ptr<CS_CurlyEnergyShieldCircle> shield;
};

