#pragma once
#include "Entity.h"
#define CS_HEART_CREATENAME L"CS_heart"
class CS_Heart :
    public Entity
{
public:
    CS_Heart();
    void Step() override;
    bool Item(std::weak_ptr<Entity> src) override;
    std::weak_ptr<Entity> BeginCaught(std::weak_ptr<Entity> e) override;//开始被某单位抓取（切换到被抓取状态）
    void EndCaught(std::weak_ptr<Entity> e) override;//被某单位抓取结束(退出被抓取状态）
    void SetLargeSize();
    void SetLeftFloat();
    void SetRightFloat();
    bool largeSize = false;
    int act_no = 0;
    int ani_wait = 0;
    int count1 = 0;
    bool lFloat = false;//向左上浮
    bool rFloat = false;//向右上浮
};

std::shared_ptr<Entity> CreateCS_Heart();
void SetHeartSmall(std::shared_ptr<Entity> parent, float x, float y);
void SetHeartSmallLFloat(std::shared_ptr<Entity> parent, float x, float y);
void SetHeartSmallRFloat(std::shared_ptr<Entity> parent, float x, float y);
void SetHeartSmallStatic(std::shared_ptr<Entity> parent, float x, float y);
void SetHeartLarge(std::shared_ptr<Entity> parent, float x, float y);
void SetHeartLargeLFloat(std::shared_ptr<Entity> parent, float x, float y);
void SetHeartLargeRFloat(std::shared_ptr<Entity> parent, float x, float y);