New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
VisibilityAnimation.h
Go to the documentation of this file.
1#pragma once
2
3#include <graphics/Animation.h>
4
5#include <container/seadPtrArray.h>
6#include <heap/seadHeap.h>
7#include <prim/seadSafeString.h>
8
9#include <nw/g3d/g3d_VisibilityAnimObj.h>
10
11class ModelG3d;
12class ModelResource;
13
15{
16public:
18
19 bool init(const ModelG3d* model, const ModelResource* mdl_res, const sead::PtrArray<ModelResource>* anim_mdl_res_array, sead::Heap* heap);
20
21 bool isValid() const { return mRes && mModel; }
22
23 void bindModel(const ModelG3d* model, s32 index);
25
26private:
28
29public:
30 void playBoneVisAnim(const ModelResource* mdl_res, const sead::SafeString& name);
31 void playMatVisAnim(const ModelResource* mdl_res, const sead::SafeString& name);
32
33 void calc() override;
34
35 nw::g3d::VisibilityAnimObj& getAnimObj() { return mAnimObj; }
36 const nw::g3d::VisibilityAnimObj& getAnimObj() const { return mAnimObj; }
37
38 nw::g3d::res::ResVisibilityAnim* getResource() const { return mRes; }
39
40 const ModelG3d* getModel() const { return mModel; }
41 s32 getIndex() const { return mIndex; }
42
43private:
44 static void updateInitArg_(nw::g3d::VisibilityAnimObj::InitArg* arg, const ModelResource* mdl_res);
45
46private:
51 void* mBuffer;
52};
53static_assert(sizeof(VisibilityAnimation) == 0x84);
Definition ModelG3d.h:27
Definition ModelResource.h:13
Definition VisibilityAnimation.h:15
void bindModel(const ModelG3d *model, s32 index)
nw::g3d::VisibilityAnimObj mAnimObj
Definition VisibilityAnimation.h:47
const ModelG3d * getModel() const
Definition VisibilityAnimation.h:40
bool init(const ModelG3d *model, const ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array, sead::Heap *heap)
s32 mIndex
Definition VisibilityAnimation.h:50
void playBoneVisAnim(const ModelResource *mdl_res, const sead::SafeString &name)
s32 getIndex() const
Definition VisibilityAnimation.h:41
nw::g3d::VisibilityAnimObj & getAnimObj()
Definition VisibilityAnimation.h:35
const ModelG3d * mModel
Definition VisibilityAnimation.h:49
const nw::g3d::VisibilityAnimObj & getAnimObj() const
Definition VisibilityAnimation.h:36
bool isValid() const
Definition VisibilityAnimation.h:21
nw::g3d::res::ResVisibilityAnim * getResource() const
Definition VisibilityAnimation.h:38
nw::g3d::res::ResVisibilityAnim * mRes
Definition VisibilityAnimation.h:48
void playMatVisAnim(const ModelResource *mdl_res, const sead::SafeString &name)
void calc() override
void * mBuffer
Definition VisibilityAnimation.h:51
static void updateInitArg_(nw::g3d::VisibilityAnimObj::InitArg *arg, const ModelResource *mdl_res)