summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/GeneralParamList/resGParamListObjectGeneral.h
blob: abde1b00863ba1f0547116d41c5e50a9ea02befe (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
30
31
32
33
34
35
36
37
38
#pragma once

#include <utility/aglParameter.h>
#include "KingSystem/Resource/GeneralParamList/resGParamListObject.h"
#include "KingSystem/Utils/Types.h"

namespace ksys::res {

class GParamListObjectGeneral : public GParamListObject {
public:
    GParamListObjectGeneral();
    const char* getName() const override { return "General"; }

    agl::utl::Parameter<f32> mSpeed;
    agl::utl::Parameter<s32> mLife;
    agl::utl::Parameter<bool> mIsLifeInfinite;
    agl::utl::Parameter<f32> mElectricalDischarge;
    agl::utl::Parameter<bool> mIsBurnOutBorn;
    agl::utl::Parameter<sead::SafeString> mBurnOutBornName;
    agl::utl::Parameter<bool> mIsBurnOutBornIdent;
    agl::utl::Parameter<sead::SafeString> mChangeDropTableName;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectGeneral, 0x148);

inline GParamListObjectGeneral::GParamListObjectGeneral() {
    auto* const obj = &mObj;

    mSpeed.init(1.0, "Speed", "", obj);
    mLife.init(100, "Life", "", obj);
    mIsLifeInfinite.init(false, "IsLifeInfinite", "", obj);
    mElectricalDischarge.init(1.0, "ElectricalDischarge", "", obj);
    mIsBurnOutBorn.init(false, "IsBurnOutBorn", "", obj);
    mBurnOutBornName.init("", "BurnOutBornName", "", obj);
    mIsBurnOutBornIdent.init(false, "IsBurnOutBornIdent", "", obj);
    mChangeDropTableName.init("", "ChangeDropTableName", "", obj);
}

}  // namespace ksys::res