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;
	}
}
