2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 23:47:42 +00:00

CCharacterFactory imps

This commit is contained in:
Jack Andersen
2016-04-14 17:02:21 -10:00
parent 8608b52774
commit c91bfade75
29 changed files with 254 additions and 82 deletions

View File

@@ -1,6 +1,52 @@
#include "CAssetFactory.hpp"
#include "CAnimCharacterSet.hpp"
#include "CCharacterFactory.hpp"
#include "GameGlobalObjects.hpp"
#include "CModelData.hpp"
namespace urde
{
CFactoryFnReturn CCharacterFactoryBuilder::CDummyFactory::Build(const SObjectTag& tag,
const CVParamTransfer&)
{
TLockedToken<CAnimCharacterSet> ancs =
g_SimplePool->GetObj({SBIG('ANCS'), tag.id});
return TToken<CCharacterFactory>::GetIObjObjectFor(
std::make_unique<CCharacterFactory>(*g_SimplePool, *ancs.GetObj(), tag.id));
}
void CCharacterFactoryBuilder::CDummyFactory::BuildAsync(const SObjectTag& tag,
const CVParamTransfer& parms,
IObj** objOut)
{
*objOut = Build(tag, parms).release();
}
void CCharacterFactoryBuilder::CDummyFactory::CancelBuild(const SObjectTag&)
{
}
bool CCharacterFactoryBuilder::CDummyFactory::CanBuild(const SObjectTag&)
{
return true;
}
const SObjectTag* CCharacterFactoryBuilder::CDummyFactory::GetResourceIdByName(const char*) const
{
return nullptr;
}
FourCC CCharacterFactoryBuilder::CDummyFactory::GetResourceTypeById(ResId id) const
{
return {};
}
CCharacterFactoryBuilder::CCharacterFactoryBuilder() : x4_dummyStore(x0_dummyFactory) {}
TToken<CCharacterFactory> CCharacterFactoryBuilder::GetFactory(const CAnimRes& res)
{
return x4_dummyStore.GetObj({SBIG('ANCS'), res.x0_ancsId});
}
}