2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2015-08-22 01:58:41 +00:00
|
|
|
|
2019-09-28 02:53:03 +00:00
|
|
|
#include <memory>
|
|
|
|
#include <utility>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "Runtime/Character/CTransitionDatabase.hpp"
|
2015-08-22 01:58:41 +00:00
|
|
|
|
2021-04-10 08:42:06 +00:00
|
|
|
namespace metaforce {
|
2016-04-13 06:07:23 +00:00
|
|
|
class CTransition;
|
|
|
|
class CHalfTransition;
|
2015-08-22 01:58:41 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
class CTransitionDatabaseGame final : public CTransitionDatabase {
|
|
|
|
std::shared_ptr<IMetaTrans> x10_defaultTrans;
|
|
|
|
std::vector<std::pair<std::pair<u32, u32>, std::shared_ptr<IMetaTrans>>> x14_transitions;
|
|
|
|
std::vector<std::pair<u32, std::shared_ptr<IMetaTrans>>> x24_halfTransitions;
|
|
|
|
|
2015-08-22 01:58:41 +00:00
|
|
|
public:
|
2018-12-08 05:30:43 +00:00
|
|
|
CTransitionDatabaseGame(const std::vector<CTransition>& transitions,
|
|
|
|
const std::vector<CHalfTransition>& halfTransitions,
|
2020-03-09 15:48:14 +00:00
|
|
|
std::shared_ptr<IMetaTrans> defaultTrans);
|
2019-08-09 19:46:49 +00:00
|
|
|
const std::shared_ptr<IMetaTrans>& GetMetaTrans(u32, u32) const override;
|
2015-08-22 01:58:41 +00:00
|
|
|
};
|
|
|
|
|
2021-04-10 08:42:06 +00:00
|
|
|
} // namespace metaforce
|