|
5 | 5 | using VRC.SDK3.Dynamics.PhysBone.Components;
|
6 | 6 | using UnityEngine;
|
7 | 7 | using UnityEngine.Animations;
|
| 8 | +using VRC.SDK3.Avatars.Components; |
8 | 9 | #if HAS_VRC_CONSTRAINT
|
9 | 10 | using VRC.SDK3.Dynamics.Constraint.Components;
|
10 | 11 | #endif
|
@@ -94,6 +95,201 @@ public MemberInfoContainer(MemberInfo memberInfo)
|
94 | 95 | { typeof(VRCRotationConstraint), VRCConstraintCommonMembers(typeof(VRCRotationConstraint)) },
|
95 | 96 | { typeof(VRCScaleConstraint), VRCConstraintCommonMembers(typeof(VRCScaleConstraint)) },
|
96 | 97 | #endif
|
| 98 | + { |
| 99 | + typeof(AudioSource), |
| 100 | + new MemberInfoContainer[] |
| 101 | + { |
| 102 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.mute))) { Field = "Mute" }, |
| 103 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.bypassEffects))) { Field = "BypassEffects" }, |
| 104 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.bypassListenerEffects))) { Field = "BypassListenerEffects" }, |
| 105 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.bypassReverbZones))) { Field = "BypassReverbZones" }, |
| 106 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.playOnAwake))) { Field = "m_PlayOnAwake" }, |
| 107 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.loop))) { Field = "Loop" }, |
| 108 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.priority))) { Field = "Priority" }, |
| 109 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.volume))) { Field = "m_Volume" }, |
| 110 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.pitch))) { Field = "m_Pitch" }, |
| 111 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.panStereo))) { Field = "Pan2D", Label = "Stereo Pan" }, |
| 112 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.dopplerLevel))) { Field = "DopplerLevel" }, |
| 113 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.minDistance))) { Field = "MinDistance" }, |
| 114 | + new MemberInfoContainer(typeof(AudioSource).GetProperty(nameof(AudioSource.maxDistance))) { Field = "MaxDistance" }, |
| 115 | + } |
| 116 | + }, |
| 117 | + { |
| 118 | + typeof(VRCSpatialAudioSource), |
| 119 | + new MemberInfoContainer[] |
| 120 | + { |
| 121 | + new MemberInfoContainer(typeof(VRCSpatialAudioSource).GetField(nameof(VRCSpatialAudioSource.Gain))), |
| 122 | + new MemberInfoContainer(typeof(VRCSpatialAudioSource).GetField(nameof(VRCSpatialAudioSource.Far))), |
| 123 | + new MemberInfoContainer(typeof(VRCSpatialAudioSource).GetField(nameof(VRCSpatialAudioSource.Near))), |
| 124 | + new MemberInfoContainer(typeof(VRCSpatialAudioSource).GetField(nameof(VRCSpatialAudioSource.VolumetricRadius))), |
| 125 | + new MemberInfoContainer(typeof(VRCSpatialAudioSource).GetField(nameof(VRCSpatialAudioSource.EnableSpatialization))), |
| 126 | + new MemberInfoContainer(typeof(VRCSpatialAudioSource).GetField(nameof(VRCSpatialAudioSource.UseAudioSourceVolumeCurve))), |
| 127 | + } |
| 128 | + }, |
| 129 | + { |
| 130 | + typeof(MeshRenderer), |
| 131 | + new MemberInfoContainer[]{ new MemberInfoContainer(typeof(MeshRenderer).GetProperty(nameof(MeshRenderer.receiveShadows))) { Field = "m_ReceiveShadows" } } |
| 132 | + }, |
| 133 | + { |
| 134 | + typeof(SkinnedMeshRenderer), |
| 135 | + new MemberInfoContainer[] |
| 136 | + { |
| 137 | + new MemberInfoContainer(typeof(SkinnedMeshRenderer).GetProperty(nameof(SkinnedMeshRenderer.receiveShadows))) { Field = "m_ReceiveShadows" }, |
| 138 | + new MemberInfoContainer(typeof(SkinnedMeshRenderer).GetProperty(nameof(SkinnedMeshRenderer.skinnedMotionVectors))) { Field = "m_SkinnedMotionVectors" }, |
| 139 | + new MemberInfoContainer(typeof(SkinnedMeshRenderer).GetProperty(nameof(SkinnedMeshRenderer.updateWhenOffscreen))) { Field = "m_UpdateWhenOffscreen" }, |
| 140 | + // new MemberInfoContainer(typeof(Bounds).GetProperty(nameof(Bounds.center))) { Field = "m_AABB.m_Center", Label = "Bounds.Center" }, |
| 141 | + // new MemberInfoContainer(typeof(Bounds).GetProperty(nameof(Bounds.extents))) { Field = "m_AABB.m_Extent", Label = "Bounds.Extents" }, |
| 142 | + } |
| 143 | + }, |
| 144 | + { |
| 145 | + typeof(Rigidbody), |
| 146 | + new MemberInfoContainer[] |
| 147 | + { |
| 148 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.mass))) { Field = "m_Mass" }, |
| 149 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.drag))) { Field = "m_Drag" }, |
| 150 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.angularDrag))) { Field = "m_AngularDrag" }, |
| 151 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.inertiaTensor))) { Field = "m_InertiaTensor" }, |
| 152 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.centerOfMass))) { Field = "m_CenterOfMass" }, |
| 153 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.isKinematic))) { Field = "m_IsKinematic" }, |
| 154 | + new MemberInfoContainer(typeof(Rigidbody).GetProperty(nameof(Rigidbody.useGravity))) { Field = "m_UseGravity" }, |
| 155 | + } |
| 156 | + }, |
| 157 | + { |
| 158 | + typeof(BoxCollider), |
| 159 | + new MemberInfoContainer[] |
| 160 | + { |
| 161 | + new MemberInfoContainer(typeof(BoxCollider).GetProperty(nameof(BoxCollider.isTrigger))) { Field = "m_IsTrigger" }, |
| 162 | + new MemberInfoContainer(typeof(BoxCollider).GetProperty(nameof(BoxCollider.center))) { Field = "m_Center" }, |
| 163 | + new MemberInfoContainer(typeof(BoxCollider).GetProperty(nameof(BoxCollider.size))) { Field = "m_Size" }, |
| 164 | + } |
| 165 | + }, |
| 166 | + { |
| 167 | + typeof(SphereCollider), |
| 168 | + new MemberInfoContainer[] |
| 169 | + { |
| 170 | + new MemberInfoContainer(typeof(SphereCollider).GetProperty(nameof(SphereCollider.isTrigger))) { Field = "m_IsTrigger" }, |
| 171 | + new MemberInfoContainer(typeof(SphereCollider).GetProperty(nameof(SphereCollider.center))) { Field = "m_Center" }, |
| 172 | + new MemberInfoContainer(typeof(SphereCollider).GetProperty(nameof(SphereCollider.radius))) { Field = "m_Radius" }, |
| 173 | + } |
| 174 | + }, |
| 175 | + { |
| 176 | + typeof(CapsuleCollider), |
| 177 | + new MemberInfoContainer[] |
| 178 | + { |
| 179 | + new MemberInfoContainer(typeof(CapsuleCollider).GetProperty(nameof(CapsuleCollider.isTrigger))) { Field = "m_IsTrigger" }, |
| 180 | + new MemberInfoContainer(typeof(CapsuleCollider).GetProperty(nameof(CapsuleCollider.center))) { Field = "m_Center" }, |
| 181 | + new MemberInfoContainer(typeof(CapsuleCollider).GetProperty(nameof(CapsuleCollider.radius))) { Field = "m_Radius" }, |
| 182 | + new MemberInfoContainer(typeof(CapsuleCollider).GetProperty(nameof(CapsuleCollider.height))) { Field = "m_Height" }, |
| 183 | + } |
| 184 | + }, |
| 185 | + { |
| 186 | + typeof(MeshCollider), |
| 187 | + new MemberInfoContainer[] |
| 188 | + { |
| 189 | + new MemberInfoContainer(typeof(MeshCollider).GetProperty(nameof(MeshCollider.isTrigger))) { Field = "m_IsTrigger" }, |
| 190 | + new MemberInfoContainer(typeof(MeshCollider).GetProperty(nameof(MeshCollider.convex))) { Field = "m_Convex" }, |
| 191 | + } |
| 192 | + }, |
| 193 | + { |
| 194 | + typeof(WheelCollider), |
| 195 | + new MemberInfoContainer[] |
| 196 | + { |
| 197 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.isTrigger))) { Field = "m_IsTrigger" }, |
| 198 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.mass))) { Field = "m_Mass" }, |
| 199 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.radius))) { Field = "m_Radius" }, |
| 200 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.wheelDampingRate))) { Field = "m_WheelDampingRate" }, |
| 201 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.suspensionDistance))) { Field = "m_SuspensionDistance" }, |
| 202 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.forceAppPointDistance))) { Field = "m_ForceAppPointDistance" }, |
| 203 | + new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.center))) { Field = "m_Center" }, |
| 204 | + // new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.suspensionSpring))) { Field = "m_SuspensionSpring" }, |
| 205 | + // new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.forwardFriction))) { Field = "m_ForwardFriction" }, |
| 206 | + // new MemberInfoContainer(typeof(WheelCollider).GetProperty(nameof(WheelCollider.sidewaysFriction))) { Field = "m_SidewaysFriction" }, |
| 207 | + } |
| 208 | + }, |
| 209 | + { |
| 210 | + typeof(VRCPhysBoneCollider), |
| 211 | + new MemberInfoContainer[] |
| 212 | + { |
| 213 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.shapeType))), |
| 214 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.radius))), |
| 215 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.height))), |
| 216 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.position))), |
| 217 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.rotation))), |
| 218 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.insideBounds))), |
| 219 | + new MemberInfoContainer(typeof(VRCPhysBoneCollider).GetField(nameof(VRCPhysBoneCollider.bonesAsSpheres))), |
| 220 | + } |
| 221 | + }, |
| 222 | +#if HAS_VRC_HEADCHOP |
| 223 | + { |
| 224 | + typeof(VRCHeadChop), |
| 225 | + new MemberInfoContainer[] |
| 226 | + { |
| 227 | + new MemberInfoContainer(typeof(VRCHeadChop).GetField(nameof(VRCHeadChop.globalScaleFactor))), |
| 228 | + } |
| 229 | + }, |
| 230 | +#endif |
| 231 | + { |
| 232 | + typeof(Camera), |
| 233 | + new MemberInfoContainer[] |
| 234 | + { |
| 235 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.backgroundColor))) { Field = "m_BackGroundColor", Label = "BackGround" }, |
| 236 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.orthographic))) { Field = "orthographic" }, |
| 237 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.orthographicSize))) { Field = "orthographic size" }, |
| 238 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.fieldOfView))) { Field = "field of view" }, |
| 239 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.iso))) { Field = "m_Iso" }, |
| 240 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.shutterSpeed))) { Field = "m_ShutterSpeed" }, |
| 241 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.aperture))) { Field = "m_Aperture" }, |
| 242 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.focusDistance))) { Field = "m_FocusDistance" }, |
| 243 | + // new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.curvature))) { Field = "m_Curvature" }, |
| 244 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.barrelClipping))) { Field = "m_BarrelClipping" }, |
| 245 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.anamorphism))) { Field = "m_Anamorphism" }, |
| 246 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.focalLength))) { Field = "m_FocalLength" }, |
| 247 | + // new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.sensorSize))) { Field = "m_SensorSize" }, |
| 248 | + // new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.lensShift))) { Field = "m_LensShift" }, |
| 249 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.nearClipPlane))) { Field = "near clip plane" }, |
| 250 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.farClipPlane))) { Field = "far clip plane" }, |
| 251 | + // new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.rect))) { Field = "m_NormalizedViewPortRect", Label = "Viewport Rect" }, |
| 252 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.depth))) { Field = "m_Depth" }, |
| 253 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.useOcclusionCulling))) { Field = "m_OcclusionCulling" }, |
| 254 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.allowHDR))) { Field = "m_HDR" }, |
| 255 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.allowMSAA))) { Field = "m_AllowMSAA" }, |
| 256 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.stereoSeparation))) { Field = "m_StereoSeparation" }, |
| 257 | + new MemberInfoContainer(typeof(Camera).GetProperty(nameof(Camera.stereoConvergence))) { Field = "m_StereoConvergence" }, |
| 258 | + } |
| 259 | + }, |
| 260 | + { |
| 261 | + typeof(Cloth), |
| 262 | + new MemberInfoContainer[] |
| 263 | + { |
| 264 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.bendingStiffness))) { Field = "m_BendingStiffness" }, |
| 265 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.stretchingStiffness))) { Field = "m_StretchingStiffness" }, |
| 266 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.useTethers))) { Field = "m_UseTethers" }, |
| 267 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.useGravity))) { Field = "m_UseGravity" }, |
| 268 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.damping))) { Field = "m_Damping" }, |
| 269 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.externalAcceleration))) { Field = "m_ExternalAcceleration" }, |
| 270 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.randomAcceleration))) { Field = "m_RandomAcceleration" }, |
| 271 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.worldVelocityScale))) { Field = "m_WorldVelocityScale" }, |
| 272 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.worldAccelerationScale))) { Field = "m_WorldAccelerationScale" }, |
| 273 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.friction))) { Field = "m_Friction" }, |
| 274 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.collisionMassScale))) { Field = "m_CollisionMassScale" }, |
| 275 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.enableContinuousCollision))) { Field = "m_UseContinuousCollision" }, |
| 276 | + new MemberInfoContainer(typeof(Cloth).GetProperty(nameof(Cloth.sleepThreshold))) { Field = "m_SleepThreshold" }, |
| 277 | + } |
| 278 | + }, |
| 279 | + { |
| 280 | + typeof(Light), |
| 281 | + new MemberInfoContainer[] |
| 282 | + { |
| 283 | + new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.range))) { Field = "m_Range" }, |
| 284 | + new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.spotAngle))) { Field = "m_SpotAngle" }, |
| 285 | + new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.colorTemperature))) { Field = "m_ColorTemperature" }, |
| 286 | + new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.color))) { Field = "m_Color" }, |
| 287 | + new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.bounceIntensity))) { Field = "m_BounceIntensity" }, |
| 288 | + new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.intensity))) { Field = "m_Intensity" }, |
| 289 | + // new MemberInfoContainer(typeof(Light).GetProperty(nameof(Light.shadows))) { Field = "m_Shadows" }, |
| 290 | + // m_DrawHalo private? |
| 291 | + } |
| 292 | + }, |
97 | 293 | };
|
98 | 294 |
|
99 | 295 | static Dictionary<Type, TypeMember[]> AvailableMembersCache = new Dictionary<Type, TypeMember[]>();
|
|
0 commit comments