#pragma once #include #include #include "KingSystem/Resource/resResource.h" #include "KingSystem/Utils/ParamIO.h" namespace ksys::res { class Awareness : public ParamIO, public Resource { SEAD_RTTI_OVERRIDE(Awareness, Resource) public: Awareness() : ParamIO("awareness", 0) {} ~Awareness() override = default; bool needsParse() const override { return true; } bool ParamIO_m0(char* data) override { return true; } private: void doCreate_(u8*, u32, sead::Heap*) override {} bool parse_(u8* data, size_t size, sead::Heap* heap) override; agl::utl::ParameterObj mBasisObj; agl::utl::ParameterObj mSightObj; agl::utl::ParameterObj mHearingObj; agl::utl::ParameterObj mSenseObj; agl::utl::ParameterObj mWorryObj; public: agl::utl::Parameter contactpoint_num; agl::utl::Parameter> base_node_name; agl::utl::Parameter is_bind_rot; agl::utl::Parameter is_bind_pos; agl::utl::Parameter base_offset; agl::utl::Parameter base_dir; agl::utl::Parameter up_dir; agl::utl::Parameter> awareness_target; agl::utl::Parameter interest_lv1_radius; agl::utl::Parameter system_radius; agl::utl::Parameter invalidate_wheather_ratio; agl::utl::Parameter sight_buffer_num; agl::utl::Parameter sight_radius; agl::utl::Parameter sight_angle; agl::utl::Parameter sight_height_max; agl::utl::Parameter sight_height_min; agl::utl::Parameter sight_height_near_max; agl::utl::Parameter sight_height_near_min; agl::utl::Parameter sight_alert_radius; agl::utl::Parameter sight_alert_angle; agl::utl::Parameter sight_alert_height_max; agl::utl::Parameter sight_alert_height_min; agl::utl::Parameter sight_alert_height_near_max; agl::utl::Parameter sight_alert_height_near_min; agl::utl::Parameter sight_ignore_grass_radius; agl::utl::Parameter sight_delay_time_max; agl::utl::Parameter sight_ray_check_range_max; agl::utl::Parameter> sight_base_node_name; agl::utl::Parameter sight_far_use; agl::utl::Parameter sight_radius_far; agl::utl::Parameter sight_angle_far; agl::utl::Parameter hearing_buffer_num; agl::utl::Parameter hearing_radius; agl::utl::Parameter hearing_notice_level; agl::utl::Parameter hearing_alert_level; agl::utl::Parameter hearing_blind_angle; agl::utl::Parameter hearing_blind_margin_angle; agl::utl::Parameter hearing_reduce_ratio; agl::utl::Parameter hearing_delay_time_max; agl::utl::Parameter> hearing_base_node_name; agl::utl::Parameter sense_buffer_num; agl::utl::Parameter> sense_target; agl::utl::Parameter sense_radius_offset; agl::utl::Parameter sense_angle; agl::utl::Parameter sense_delay_time_max; agl::utl::Parameter> sense_base_node_name; agl::utl::Parameter worry_buffer_num; agl::utl::Parameter worry_radius; agl::utl::Parameter worry_delay_time_max; agl::utl::Parameter> worry_base_node_name; }; } // namespace ksys::res