#pragma once #include "character/CharacterActionTypes.h" #include "character/CharacterDataLoader.h" #include #include #include namespace frostbite2D { /// 管理角色动作定义。优先从 PVF 动作脚本读取,缺失时回退到内置默认动作。 class CharacterActionLibrary { public: bool LoadForConfig(const character::CharacterConfig& config); const CharacterActionDefinition* FindAction(const std::string& actionId) const; const CharacterActionDefinition* GetDefaultAction() const; private: void BuildFallbackActions(const character::CharacterConfig& config); bool TryLoadPvfActionScripts(const character::CharacterConfig& config); std::map actions_; }; std::optional loadCharacterActionLibrary( const character::CharacterConfig& config); } // namespace frostbite2D