using System; public class SABoneColliderCommon { public enum BoneWeightType { Bone2, Bone4 } public enum BoneTriangleExtent { Disable, Vertex2, Vertex1 } [Serializable] public class BoneProperty { public SABoneColliderCommon.BoneProperty ShallowCopy() { return (SABoneColliderCommon.BoneProperty)base.MemberwiseClone(); } public bool recursivery; } [Serializable] public class SplitProperty { public SABoneColliderCommon.SplitProperty ShallowCopy() { return (SABoneColliderCommon.SplitProperty)base.MemberwiseClone(); } public SABoneColliderCommon.BoneWeightType boneWeightType; public int boneWeight2 = 50; public int boneWeight3 = 33; public int boneWeight4 = 25; public bool greaterBoneWeight = true; public SABoneColliderCommon.BoneTriangleExtent boneTriangleExtent = SABoneColliderCommon.BoneTriangleExtent.Vertex2; } [Serializable] public class SABoneColliderProperty { public SABoneColliderCommon.SABoneColliderProperty Copy() { SABoneColliderCommon.SABoneColliderProperty saboneColliderProperty = new SABoneColliderCommon.SABoneColliderProperty(); if (this.boneProperty != null) { saboneColliderProperty.boneProperty = this.boneProperty.ShallowCopy(); } if (this.splitProperty != null) { saboneColliderProperty.splitProperty = this.splitProperty.ShallowCopy(); } if (this.reducerProperty != null) { saboneColliderProperty.reducerProperty = this.reducerProperty.ShallowCopy(); } if (this.colliderProperty != null) { saboneColliderProperty.colliderProperty = this.colliderProperty.ShallowCopy(); } if (this.rigidbodyProperty != null) { saboneColliderProperty.rigidbodyProperty = this.rigidbodyProperty.ShallowCopy(); } saboneColliderProperty.modifyNameEnabled = this.modifyNameEnabled; return saboneColliderProperty; } public SABoneColliderCommon.BoneProperty boneProperty = new SABoneColliderCommon.BoneProperty(); public SABoneColliderCommon.SplitProperty splitProperty = new SABoneColliderCommon.SplitProperty(); public SAColliderBuilderCommon.ReducerProperty reducerProperty = new SAColliderBuilderCommon.ReducerProperty(); public SAColliderBuilderCommon.ColliderProperty colliderProperty = new SAColliderBuilderCommon.ColliderProperty(); public SAColliderBuilderCommon.RigidbodyProperty rigidbodyProperty = new SAColliderBuilderCommon.RigidbodyProperty(); public bool modifyNameEnabled; } [Serializable] public class SABoneColliderBuilderProperty { public SABoneColliderCommon.SABoneColliderBuilderProperty Copy() { SABoneColliderCommon.SABoneColliderBuilderProperty saboneColliderBuilderProperty = new SABoneColliderCommon.SABoneColliderBuilderProperty(); if (this.splitProperty != null) { saboneColliderBuilderProperty.splitProperty = this.splitProperty.ShallowCopy(); } if (this.reducerProperty != null) { saboneColliderBuilderProperty.reducerProperty = this.reducerProperty.ShallowCopy(); } if (this.colliderProperty != null) { saboneColliderBuilderProperty.colliderProperty = this.colliderProperty.ShallowCopy(); } if (this.rigidbodyProperty != null) { saboneColliderBuilderProperty.rigidbodyProperty = this.rigidbodyProperty.ShallowCopy(); } saboneColliderBuilderProperty.modifyNameEnabled = this.modifyNameEnabled; return saboneColliderBuilderProperty; } public SABoneColliderCommon.SABoneColliderProperty ToSABoneColliderProperty() { SABoneColliderCommon.SABoneColliderProperty saboneColliderProperty = new SABoneColliderCommon.SABoneColliderProperty(); if (this.splitProperty != null) { saboneColliderProperty.splitProperty = this.splitProperty.ShallowCopy(); } if (this.reducerProperty != null) { saboneColliderProperty.reducerProperty = this.reducerProperty.ShallowCopy(); } if (this.colliderProperty != null) { saboneColliderProperty.colliderProperty = this.colliderProperty.ShallowCopy(); } if (this.rigidbodyProperty != null) { saboneColliderProperty.rigidbodyProperty = this.rigidbodyProperty.ShallowCopy(); } saboneColliderProperty.modifyNameEnabled = this.modifyNameEnabled; return saboneColliderProperty; } public SABoneColliderCommon.SplitProperty splitProperty = new SABoneColliderCommon.SplitProperty(); public SAColliderBuilderCommon.ReducerProperty reducerProperty = new SAColliderBuilderCommon.ReducerProperty(); public SAColliderBuilderCommon.ColliderProperty colliderProperty = new SAColliderBuilderCommon.ColliderProperty(); public SAColliderBuilderCommon.RigidbodyProperty rigidbodyProperty = new SAColliderBuilderCommon.RigidbodyProperty(); public bool modifyNameEnabled; } }