summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actActorFactory.h
blob: 6fed82f40bc6c36a01b1a90550bff6ec30374c7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once

#include <heap/seadDisposer.h>

namespace ksys::act {

struct ActorCreateArg;
class BaseProc;

class ActorFactory {
public:
    virtual void dummy();
    virtual BaseProc* createActor(const ActorCreateArg& arg);
    virtual void dummy2();
};

class ActorFactoryHolder {
    SEAD_SINGLETON_DISPOSER(ActorFactoryHolder)
    ActorFactoryHolder() = default;
    virtual ~ActorFactoryHolder();

public:
    void init(sead::Heap* heap);

private:
    ActorFactory mFactory;
};

}  // namespace ksys::act