summaryrefslogtreecommitdiff
path: root/src/KingSystem/Resource/GeneralParamList/resGParamListObjectGuardian.h
blob: c36b9dc0261d058712d90b9009e1192f0abcecc5 (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
39
40
#pragma once

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

namespace ksys::res {

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

    agl::utl::Parameter<s32> mGuardianModelType;
    agl::utl::Parameter<s32> mGuardianControllerType;
    agl::utl::Parameter<f32> mHeadLimitMax;
    agl::utl::Parameter<f32> mHeadLimitMin;
    agl::utl::Parameter<f32> mSightLimitMax;
    agl::utl::Parameter<f32> mSightLimitMin;
    agl::utl::Parameter<f32> mMaxSpeed;
    agl::utl::Parameter<sead::SafeString> mCannonBoneName;
    agl::utl::Parameter<f32> mRapidFireDistance;
};
KSYS_CHECK_SIZE_NX150(GParamListObjectGuardian, 0x160);

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

    mGuardianModelType.init(0, "GuardianModelType", "", obj);
    mGuardianControllerType.init(0, "GuardianControllerType", "", obj);
    mHeadLimitMax.init(90.0, "HeadLimitMax", "", obj);
    mHeadLimitMin.init(-90.0, "HeadLimitMin", "", obj);
    mSightLimitMax.init(90.0, "SightLimitMax", "", obj);
    mSightLimitMin.init(-90.0, "SightLimitMin", "", obj);
    mMaxSpeed.init(25.0, "MaxSpeed", "", obj);
    mCannonBoneName.init("Eye", "CannonBoneName", "", obj);
    mRapidFireDistance.init(10.0, "RapidFireDistance", "", obj);
}

}  // namespace ksys::res