vrchatapi 1.20.8-nightly.11

VRChat API Client for Rust
Documentation
use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FileAnalysisAvatarStats {
    #[serde(rename = "animatorCount")]
    pub animator_count: i32,
    #[serde(rename = "audioSourceCount")]
    pub audio_source_count: i32,
    #[serde(rename = "blendShapeCount")]
    pub blend_shape_count: i32,
    #[serde(rename = "boneCount")]
    pub bone_count: i32,
    #[serde(rename = "bounds")]
    pub bounds: Vec<f64>,
    #[serde(rename = "cameraCount", skip_serializing_if = "Option::is_none")]
    pub camera_count: Option<i32>,
    #[serde(rename = "clothCount")]
    pub cloth_count: i32,
    #[serde(rename = "constraintCount")]
    pub constraint_count: i32,
    #[serde(rename = "constraintDepth")]
    pub constraint_depth: i32,
    #[serde(rename = "contactCount")]
    pub contact_count: i32,
    #[serde(rename = "customExpressions")]
    pub custom_expressions: bool,
    #[serde(rename = "customizeAnimationLayers")]
    pub customize_animation_layers: bool,
    #[serde(rename = "enableEyeLook")]
    pub enable_eye_look: bool,
    #[serde(rename = "lightCount")]
    pub light_count: i32,
    #[serde(rename = "lineRendererCount")]
    pub line_renderer_count: i32,
    #[serde(rename = "lipSync")]
    pub lip_sync: i32,
    #[serde(rename = "materialCount")]
    pub material_count: i32,
    #[serde(rename = "materialSlotsUsed")]
    pub material_slots_used: i32,
    #[serde(rename = "meshCount")]
    pub mesh_count: i32,
    #[serde(rename = "meshIndices")]
    pub mesh_indices: i32,
    #[serde(rename = "meshParticleMaxPolygons")]
    pub mesh_particle_max_polygons: i32,
    #[serde(rename = "meshPolygons")]
    pub mesh_polygons: i32,
    #[serde(rename = "meshVertices")]
    pub mesh_vertices: i32,
    #[serde(rename = "particleCollisionEnabled")]
    pub particle_collision_enabled: bool,
    #[serde(rename = "particleSystemCount")]
    pub particle_system_count: i32,
    #[serde(rename = "particleTrailsEnabled")]
    pub particle_trails_enabled: bool,
    #[serde(rename = "physBoneColliderCount")]
    pub phys_bone_collider_count: i32,
    #[serde(rename = "physBoneCollisionCheckCount")]
    pub phys_bone_collision_check_count: i32,
    #[serde(rename = "physBoneComponentCount")]
    pub phys_bone_component_count: i32,
    #[serde(rename = "physBoneTransformCount")]
    pub phys_bone_transform_count: i32,
    #[serde(rename = "physicsColliders")]
    pub physics_colliders: i32,
    #[serde(rename = "physicsRigidbodies")]
    pub physics_rigidbodies: i32,
    #[serde(rename = "skinnedMeshCount")]
    pub skinned_mesh_count: i32,
    #[serde(rename = "skinnedMeshIndices")]
    pub skinned_mesh_indices: i32,
    #[serde(rename = "skinnedMeshPolygons")]
    pub skinned_mesh_polygons: i32,
    #[serde(rename = "skinnedMeshVertices")]
    pub skinned_mesh_vertices: i32,
    #[serde(rename = "totalClothVertices")]
    pub total_cloth_vertices: i32,
    #[serde(rename = "totalIndices")]
    pub total_indices: i32,
    #[serde(rename = "totalMaxParticles")]
    pub total_max_particles: i32,
    #[serde(rename = "totalPolygons")]
    pub total_polygons: i32,
    #[serde(rename = "totalTextureUsage")]
    pub total_texture_usage: i32,
    #[serde(rename = "totalVertices")]
    pub total_vertices: i32,
    #[serde(rename = "trailRendererCount")]
    pub trail_renderer_count: i32,
    #[serde(rename = "writeDefaultsUsed")]
    pub write_defaults_used: bool,
}

impl FileAnalysisAvatarStats {
    pub fn new(
        animator_count: i32,
        audio_source_count: i32,
        blend_shape_count: i32,
        bone_count: i32,
        bounds: Vec<f64>,
        cloth_count: i32,
        constraint_count: i32,
        constraint_depth: i32,
        contact_count: i32,
        custom_expressions: bool,
        customize_animation_layers: bool,
        enable_eye_look: bool,
        light_count: i32,
        line_renderer_count: i32,
        lip_sync: i32,
        material_count: i32,
        material_slots_used: i32,
        mesh_count: i32,
        mesh_indices: i32,
        mesh_particle_max_polygons: i32,
        mesh_polygons: i32,
        mesh_vertices: i32,
        particle_collision_enabled: bool,
        particle_system_count: i32,
        particle_trails_enabled: bool,
        phys_bone_collider_count: i32,
        phys_bone_collision_check_count: i32,
        phys_bone_component_count: i32,
        phys_bone_transform_count: i32,
        physics_colliders: i32,
        physics_rigidbodies: i32,
        skinned_mesh_count: i32,
        skinned_mesh_indices: i32,
        skinned_mesh_polygons: i32,
        skinned_mesh_vertices: i32,
        total_cloth_vertices: i32,
        total_indices: i32,
        total_max_particles: i32,
        total_polygons: i32,
        total_texture_usage: i32,
        total_vertices: i32,
        trail_renderer_count: i32,
        write_defaults_used: bool,
    ) -> FileAnalysisAvatarStats {
        FileAnalysisAvatarStats {
            animator_count,
            audio_source_count,
            blend_shape_count,
            bone_count,
            bounds,
            camera_count: None,
            cloth_count,
            constraint_count,
            constraint_depth,
            contact_count,
            custom_expressions,
            customize_animation_layers,
            enable_eye_look,
            light_count,
            line_renderer_count,
            lip_sync,
            material_count,
            material_slots_used,
            mesh_count,
            mesh_indices,
            mesh_particle_max_polygons,
            mesh_polygons,
            mesh_vertices,
            particle_collision_enabled,
            particle_system_count,
            particle_trails_enabled,
            phys_bone_collider_count,
            phys_bone_collision_check_count,
            phys_bone_component_count,
            phys_bone_transform_count,
            physics_colliders,
            physics_rigidbodies,
            skinned_mesh_count,
            skinned_mesh_indices,
            skinned_mesh_polygons,
            skinned_mesh_vertices,
            total_cloth_vertices,
            total_indices,
            total_max_particles,
            total_polygons,
            total_texture_usage,
            total_vertices,
            trail_renderer_count,
            write_defaults_used,
        }
    }
}