#pragma once
#include "Entity.h"
#define CS_AMEMP_CREATENAME L"CS_am_emp"
//µç´ÅÂö³å
class CS_AmEMP :
    public ActionEntity
{
public:
    CS_AmEMP();
    void Init(std::weak_ptr<Entity> self) override;
    void Step() override;
    float r = 8;
    int existTime = 70;
    struct Point
    {
        float x, y;
        Point(float x = 0, float y = 0) : x(x), y(y) {}
    };
    std::vector<CS_AmEMP::Point> polyline;
    void GenerateWavyCircle(float centerX, float centerY, float radius, int segments, float waveAmplitude, int waveFrequency, float noiseAmplitude = 0.0f);
    void DrawPolyline();
    bool bLeave = false;
    BYTE alpha = 0xff;
    bool bNormalMode = false;
};

std::shared_ptr<Entity> CreateCS_AmEMP();