#pragma once #include #include #include #include #include #include "Tool/Blob.hpp" #include "Tool/Tool_String.h" namespace AniScriptParser { using AniFlag = std::variant< int, float, SDL_Point, SDL_FPoint, std::string, std::vector, std::vector>; struct AniFrame { std::string Img_Path; // img路径 int Img_Index; // img索引 SDL_Point Img_Pos; // img位置 std::vector> AttackBox; // 攻击框 std::vector> DamageBox; // 受击框 std::unordered_map Flag; // Frame特效数据 int Delay; // 延迟 }; struct AniInfo { std::vector Img_List; // img列表 std::vector Frame; // ani列表 std::unordered_map Flag; // ani特效数据 }; // 工具函数 std::string Get_Ani_Flag(int data); std::string Get_Ani_Effect_Type(int data); std::string Get_Ani_Flip_Type(int data); std::string Get_Ani_Damage_Type(int data); // Ani脚本的读取逻辑 AniInfo StructAniInfo(Blob blob); };