sead
Loading...
Searching...
No Matches
aglParameterObj.h
Go to the documentation of this file.
1#pragma once
2
3#include <container/seadOffsetList.h>
4#include <prim/seadSafeString.h>
5#include <utility/aglResParameter.h>
6
7namespace agl { namespace utl {
8
10class ParameterBase;
11
13{
14public:
16
17 void pushBackListNode(ParameterBase* p_node);
18
20 {
21 applyResParameterObj_(obj, false, 1.0f, p_list);
22 }
23
24 void applyResParameterObjLerp(ResParameterObj obj, f32 t, IParameterList* p_list = nullptr)
25 {
26 applyResParameterObj_(obj, true, t, p_list);
27 }
28
29 void applyResParameterObj(ResParameterObj obj_a, ResParameterObj obj_b, f32 t, IParameterList* p_list = nullptr)
30 {
31 makeZero_();
32 applyResParameterObjLerp(obj_a, 1.0f - t, p_list);
33 applyResParameterObjLerp(obj_b, t, p_list);
34 }
35
36protected:
37 s32 makeZero_();
38 void applyResParameterObj_(ResParameterObj obj, bool lerp, f32 t, IParameterList* p_list);
39
40protected:
41 virtual bool preWrite_() const { return true; }
42 virtual void postWrite_() const { }
43 virtual bool preRead_() { return true; }
44 virtual void postRead_() { }
45 virtual bool isApply_(ResParameterObj obj) const { return obj.getParameterObjNameHash() == mNameHash; }
46
47protected:
53
54 friend class IParameterList;
55};
56static_assert(sizeof(IParameterObj) == 0x70, "agl::utl::IParameterObj size mismatch");
57
58} }
Definition aglParameterList.h:12
Definition aglParameterObj.h:13
void applyResParameterObj_(ResParameterObj obj, bool lerp, f32 t, IParameterList *p_list)
Definition aglParameterObj.cpp:58
void pushBackListNode(ParameterBase *p_node)
Definition aglParameterObj.cpp:17
virtual bool preRead_()
Definition aglParameterObj.h:43
IParameterObj()
Definition aglParameterObj.cpp:9
u32 mNameHash
Definition aglParameterObj.h:50
sead::OffsetList< ParameterBase > mChildParameter
Definition aglParameterObj.h:48
void applyResParameterObj(ResParameterObj obj, IParameterList *p_list=nullptr)
Definition aglParameterObj.h:19
virtual void postWrite_() const
Definition aglParameterObj.h:42
sead::ListNode mListNode
Definition aglParameterObj.h:52
void applyResParameterObj(ResParameterObj obj_a, ResParameterObj obj_b, f32 t, IParameterList *p_list=nullptr)
Definition aglParameterObj.h:29
virtual void postRead_()
Definition aglParameterObj.h:44
u32 mChildHash
Definition aglParameterObj.h:51
s32 makeZero_()
Definition aglParameterObj.cpp:38
void applyResParameterObjLerp(ResParameterObj obj, f32 t, IParameterList *p_list=nullptr)
Definition aglParameterObj.h:24
sead::FixedSafeString< 64 > mName
Definition aglParameterObj.h:49
virtual bool preWrite_() const
Definition aglParameterObj.h:41
virtual bool isApply_(ResParameterObj obj) const
Definition aglParameterObj.h:45
Definition aglParameter.h:20
Definition aglResParameter.h:46
Definition seadSafeString.h:421
Definition seadListImpl.h:11
Definition seadOffsetList.h:11
Definition aglImageFilter2D.h:11
Definition aglDisplayList.cpp:5
Definition seadAssert.h:44