#pragma once
#include "Entity.h"
#define CS_BOSS_SOAPKINGMAGICFLOOR_CREATENAME L"CS_boss_soapking_magicfloor"
//魔法地板（用来抵挡伤害和攻击）
class CS_Boss_SoapKingMagicFloor :
    public ActionEntity
{
public:
    CS_Boss_SoapKingMagicFloor(std::shared_ptr<Entity> parent);
    void Init(std::weak_ptr<Entity> self) override;//初始化
    void Step() override;
    bool Hurt(std::weak_ptr<Entity> src, int getDamage, float angle, bool bTakedown, int elemType, float shockForce, float heavy, int* outRealDamage) override;
    void Attack(std::weak_ptr<Entity> dst, int* outDamage, float* outAngle, bool* outTakedown, int* outElemType, float* outShockForce, float* outHeavy) override;
    void AttackEffectObject(std::weak_ptr<Entity> target, float centerX, float centerY, int realDamage) override;//攻击后产生的效果物体
    void SetEffect();
    void ShootToTarget(std::weak_ptr<Entity> target);
    void PressToTarget(float vx, float vy);
    bool usingAtk = false;
    bool bNormalMode = false;
};

std::weak_ptr<CS_Boss_SoapKingMagicFloor> SetCS_Boss_SoapKingMagicFloor(std::shared_ptr<Entity> parent, float x, float y);