#include "Chr_Shadow.h"
#include "Global/Global_Game.h"
#include "Actor/Object/CharacterObject.h"
#include "Asset/Character/Chr_Equipment.h"

void Chr_Shadow::Init(CharacterObject *parent)
{
    // 调用RenderBase类的初始化 才能挂上标签
    RenderBase::Init();
    chr_parent = parent;
    SetRenderZOrder(1000000);
    SetPos(parent->GetPos());
}

void Chr_Shadow::SetAction(std::string actionName)
{
    // 先将原动作的Ani设置为不可见
    for (auto Ani : ActionAnis[CurrentActionTag])
    {
        Ani->Reset();
        Ani->SetVisible(false);
    }
    // 再将新动作的Ani设置为可见
    for (auto Ani : ActionAnis[actionName])
    {
        Ani->SetVisible(true);
    }
    CurrentActionTag = actionName;
}

void Chr_Shadow::SetDirection(int dir)
{
    Vec2 sc = GetScale();
    // 朝右
    if (dir == 0)
    {
        SetScale(Vec2({SDL_fabsf(sc.x), sc.y}));
    }
    // 朝左
    else if (dir == 1)
    {
        SetScale(Vec2({-SDL_fabsf(sc.x), sc.y}));
    }
}
