1#pragma once
2
3#include <basis/seadTypes.h>
4
5namespace al {
6class LiveActor;
7class SubActorKeeper;
8} // namespace al
9
10namespace alSubActorFunction {
11
12void trySyncAlive(al::SubActorKeeper* subActorKeeper);
13void trySyncDead(al::SubActorKeeper* subActorKeeper);
14void trySyncClippingStart(al::SubActorKeeper* subActorKeeper);
15void trySyncClippingEnd(al::SubActorKeeper* subActorKeeper);
16void trySyncShowModel(al::SubActorKeeper* subActorKeeper);
17void trySyncHideModel(al::SubActorKeeper* subActorKeeper);
18void trySyncModelAlphaMask(al::SubActorKeeper* subActorKeeper, f32 alpha);
19al::LiveActor* findSubActor(const al::SubActorKeeper* subActorKeeper, const char* subActorName);
20
21} // namespace alSubActorFunction
22
23namespace al {
24bool isExistSubActorKeeper(const LiveActor* actor);
25LiveActor* getSubActor(const LiveActor* actor, const char* subActorName);
26LiveActor* tryGetSubActor(const LiveActor* actor, const char* subActorName);
27LiveActor* getSubActor(const LiveActor* actor, s32 index);
28s32 getSubActorNum(const LiveActor* actor);
29void offSyncClippingSubActor(LiveActor* actor, const LiveActor* subActor);
30void offSyncClippingSubActor(LiveActor* actor, const char* subActorName);
31void offSyncClippingSubActorAll(LiveActor* actor);
32void onSyncClippingSubActor(LiveActor* actor, const LiveActor* subActor);
33void onSyncClippingSubActor(LiveActor* actor, const char* subActorName);
34void onSyncClippingSubActorAll(LiveActor* actor);
35void offSyncAppearSubActor(LiveActor* actor, const LiveActor* subActor);
36void offSyncAppearSubActor(LiveActor* actor, const char* subActorName);
37void offSyncAppearSubActorAll(LiveActor* actor);
38void onSyncAppearSubActor(LiveActor* actor, const LiveActor* subActor);
39void onSyncAppearSubActor(LiveActor* actor, const char* subActorName);
40void onSyncAppearSubActorAll(LiveActor* actor);
41void offSyncHideSubActor(LiveActor* actor, const LiveActor* subActor);
42void offSyncHideSubActor(LiveActor* actor, const char* subActorName);
43void offSyncHideSubActorAll(LiveActor* actor);
44void onSyncHideSubActor(LiveActor* actor, const LiveActor* subActor);
45void onSyncHideSubActor(LiveActor* actor, const char* subActorName);
46void onSyncHideSubActorAll(LiveActor* actor);
47bool isSyncHideSubActor(const LiveActor* actor, const LiveActor* subActor);
48void offSyncAlphaMaskSubActor(LiveActor* actor, const LiveActor* subActor);
49void offSyncAlphaMaskSubActor(LiveActor* actor, const char* subActorName);
50void offSyncAlphaMaskSubActorAll(LiveActor* actor);
51void onSyncAlphaMaskSubActor(LiveActor* actor, const LiveActor* subActor);
52void onSyncAlphaMaskSubActor(LiveActor* actor, const char* subActorName);
53void onSyncAlphaMaskSubActorAll(LiveActor* actor);
54bool isSyncAlphaMaskSubActor(const LiveActor* actor, const LiveActor* subActor);
55void startActionSubActor(const LiveActor* actor, const char* subActorName, const char* action);
56bool isActionEndSubActor(const LiveActor* actor, const char* subActorName);
57bool isActionPlayingSubActor(const LiveActor* actor, const char* subActorName, const char* action);
58bool isActionOneTimeSubActor(const LiveActor* actor, const char* subActorName);
59bool isActionOneTimeSubActor(const LiveActor* actor, const char* subActorName, const char* action);
60bool tryStartActionSubActorAll(const LiveActor* actor, const char* action);
61void makeActorDeadSubActorAll(const LiveActor* actor);
62void tryValidateCollisionPartsSubActorAll(LiveActor* actor);
63void tryInvalidateCollisionPartsSubActorAll(LiveActor* actor);
64
65} // namespace al
66