use serde::Deserialize; #[derive(Debug, Deserialize)] #[cfg_attr(feature = "strict_json_fields", serde(deny_unknown_fields))] #[serde(rename_all = "PascalCase")] pub struct SubBehaviorConfigs { #[cfg(feature = "strict_json_fields")] pub ai_alert: Option, #[cfg(feature = "strict_json_fields")] pub ai_base_skill: Option, #[cfg(feature = "strict_json_fields")] pub ai_battle_wander: Option, #[cfg(feature = "strict_json_fields")] pub ai_flee: Option, #[cfg(feature = "strict_json_fields")] pub ai_hate: Option, #[cfg(feature = "strict_json_fields")] pub ai_patrol: Option, #[cfg(feature = "strict_json_fields")] pub ai_sense: Option, #[cfg(feature = "strict_json_fields")] pub ai_wander: Option, } #[derive(Debug, Deserialize)] #[cfg_attr(feature = "strict_json_fields", serde(deny_unknown_fields))] #[serde(rename_all = "PascalCase")] pub struct AiBaseData { pub id: i32, pub state_machine: String, #[cfg(feature = "strict_json_fields")] pub ai_controller: String, #[cfg(feature = "strict_json_fields")] pub behavior_tree: String, #[cfg(feature = "strict_json_fields")] pub sub_behavior_configs: SubBehaviorConfigs, #[cfg(feature = "strict_json_fields")] pub team: bool, #[cfg(feature = "strict_json_fields")] pub monster_type: i32, }