#pragma once
#include "Entity.h"
#include "CS_Enemy_LaserTrapSight.h"
#define CS_ENEMY_LASERTRAP_CREATENAME L"CS_enemy_lasertrap"
//¼¤¹âÏÝÚå
class CS_Enemy_LaserTrap :
    public ActionEntity
{
public:
    CS_Enemy_LaserTrap();
    void Init(std::weak_ptr<Entity> self) override;
    void Step() override;
    void SetState(std::wstring stateName, int lr) override;
    void DeltaTime(float deltaTime) override;//»æÖÆ¸üÐÂ
    void Destroy() override;
    bool Hurt(std::weak_ptr<Entity> src, int getDamage, float angle, bool bTakedown, int elemType, float shockForce, float heavy, int* outRealDamage) override;
    std::weak_ptr<CS_Enemy_LaserTrapSight> signt;
    std::weak_ptr<Entity> target;
    int stateID = 0;
    int delay_counter = 0;
    float lineX = 0;
    float lineY = 0;
    float last_lineX = 0;
    float last_lineY = 0;
    int laser_color_counter = 0;
    DWORD laser_color = 0;
};

std::shared_ptr<Entity> CreateCS_Enemy_LaserTrap();