2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-13 23:11:20 +00:00
metaforce/Runtime/Character/CAnimationDatabase.hpp
Lioncash 8182688b34 CAnimationDatabase: Add virtual destructor
Given this class is used polymorphically, this is cautionary to prevent
any potential undefined behavior from occurring through refactors over
time.
2020-04-07 06:03:14 -04:00

24 lines
604 B
C++

#pragma once
#include <set>
#include <string_view>
#include <vector>
#include "Runtime/RetroTypes.hpp"
namespace urde {
class CPrimitive;
class IMetaAnim;
class CAnimationDatabase {
public:
virtual ~CAnimationDatabase() = default;
virtual const std::shared_ptr<IMetaAnim>& GetMetaAnim(s32) const = 0;
virtual u32 GetNumMetaAnims() const = 0;
virtual const char* GetMetaAnimName(s32) const = 0;
virtual void GetAllUniquePrimitives(std::vector<CPrimitive>&) const = 0;
virtual void GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>&, std::string_view) const = 0;
};
} // namespace urde