mirror of
https://github.com/CraftyBoss/SuperMarioOdysseyOnline.git
synced 2024-12-05 01:17:29 +00:00
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "Factory.h"
|
||
|
|
||
|
namespace al {
|
||
|
|
||
|
class CameraPoser;
|
||
|
|
||
|
template <class T>
|
||
|
CameraPoser* createCameraPoserFunction(const char *name);
|
||
|
|
||
|
typedef CameraPoser* (*createCameraPoser)(const char* name);
|
||
|
|
||
|
class CameraPoserFactory : public Factory<createCameraPoser> {
|
||
|
public:
|
||
|
CameraPoserFactory(const char *fName) __attribute__((noinline)) {
|
||
|
this->factoryName = fName;
|
||
|
this->actorTable = nullptr;
|
||
|
this->factoryCount = 0;
|
||
|
};
|
||
|
|
||
|
virtual CameraPoser *createEntranceCameraPoser(void) const;
|
||
|
// return new al::CameraPoserEntrance(スタート);
|
||
|
|
||
|
int mLastUsedIndex = 0;
|
||
|
};
|
||
|
}
|
||
|
|
||
|
namespace alCameraPoserFactoryFunction {
|
||
|
void initAndCreateTableFromOtherTable2(al::CameraPoserFactory *,al::NameToCreator<al::createCameraPoser> const*,int,al::NameToCreator<al::createCameraPoser> const*,int);
|
||
|
void initAndCreateTableWithAnotherFactory(al::CameraPoserFactory *,al::CameraPoserFactory const*,al::NameToCreator<al::createCameraPoser> const*,int);
|
||
|
void initAndCreateTableWithPresetPosers(al::CameraPoserFactory *,al::NameToCreator<al::createCameraPoser> const*,int);
|
||
|
}
|
||
|
|
||
|
namespace cc {
|
||
|
template <class T>
|
||
|
al::CameraPoser *createCustomCameraPoser(const char *name)
|
||
|
{
|
||
|
return new T(name);
|
||
|
};
|
||
|
}
|