8#include "../system/system_utils.h"
29 SYSTEM_LOG <<
"AnimationManager: Initializing...\n";
38 for (
const auto& filePath :
files)
43 SYSTEM_LOG <<
"AnimationManager: Loaded " <<
m_banks.size() <<
" animation banks\n";
51 for (
const auto& filePath :
files)
61 auto bank = std::make_unique<AnimationBank>();
62 if (
bank->LoadFromFile(filePath))
73 auto graph = std::make_unique<AnimationGraph>();
74 if (
graph->LoadFromFile(filePath))
87 return it->second.get();
95 return it->second.get();
103 return it->second.get();
111 return it->second.get();
117 const std::string& bankId,
150 const std::string& bankId,
172 SYSTEM_LOG <<
"AnimationManager: Shutting down...\n";
180 std::vector<std::string>
files;
200 files.push_back(fullPath);
233 files.push_back(fullPath);
ComponentTypeID GetComponentTypeID_Static()
Animation * GetAnimation(const std::string &name)
bool LoadAnimationGraph(const std::string &filePath)
std::vector< std::string > ScanDirectory(const std::string &directoryPath)
AnimationGraph * GetGraph(const std::string &graphName)
void LoadAnimationGraphs(const std::string &directoryPath)
const Olympe::AnimationSequence * GetAnimationSequence(const std::string &bankId, const std::string &animName) const
Get animation sequence from a bank by name.
AnimationBank * GetBank(const std::string &bankName)
bool HasAnimation(const std::string &bankId, const std::string &animName) const
Check if animation exists in bank.
void LoadAnimationBanks(const std::string &directoryPath)
std::unordered_map< std::string, std::unique_ptr< AnimationBank > > m_banks
std::unordered_map< std::string, std::unique_ptr< AnimationGraph > > m_graphs
bool LoadAnimationBank(const std::string &filePath)
Defines a complete animation sequence.