private void DrawCustomColliderFields() { Caronte_Fx_Body component = (Caronte_Fx_Body)target; SkinnedMeshRenderer smr = component.GetComponent <SkinnedMeshRenderer>(); if (smr == null) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(serializedColliderType_, new GUIContent("Collider")); EditorGUILayout.EndHorizontal(); Color curColor = GUI.contentColor; if (serializedColliderType_.enumValueIndex == 2) { GUI.contentColor = Color.green; } EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(serializedColliderMesh_, new GUIContent("Custom Mesh")); GUI.contentColor = curColor; EditorGUILayout.EndHorizontal(); if (serializedColliderType_.enumValueIndex == 3) { GUI.contentColor = Color.green; } EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(serializedColliderGameObject_, new GUIContent("Custom GameObject")); GUI.contentColor = curColor; EditorGUILayout.EndHorizontal(); if (!CarVersionChecker.IsPremiumVersion()) { EditorGUI.BeginDisabledGroup(true); } if (serializedColliderType_.enumValueIndex == 4) { GUI.contentColor = Color.green; } EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(serializedBalltreeAsset_, new GUIContent("Balltree Asset")); GUI.contentColor = curColor; EditorGUILayout.EndHorizontal(); if (!CarVersionChecker.IsPremiumVersion()) { EditorGUI.EndDisabledGroup(); } if (!CarVersionChecker.IsPremiumVersion() && serializedColliderType_.enumValueIndex == 4) { EditorGUILayout.HelpBox("Balltree assets can only be used in CaronteFX Premium Version.", MessageType.Info); } EditorGUILayout.Space(); EditorGUILayout.Space(); EditorGUILayout.PropertyField(serializedRenderCollider_, new GUIContent("Render collider")); EditorGUI.BeginDisabledGroup(cfxBody_.IsUsingBalltree()); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(serializedColliderColor_, new GUIContent("Color")); EditorGUILayout.EndHorizontal(); EditorGUI.EndDisabledGroup(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(serializedColliderRenderMode_, new GUIContent("Render mode")); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); } }
//----------------------------------------------------------------------------------- public static bool AddBodyComponentIfHasMeshReturnHasValidColliderOrBalltree(GameObject go) { Caronte_Fx_Body bodyComponent = AddBodyComponentIfHasMesh(go); return(bodyComponent != null && (bodyComponent.HasValidCollider() || bodyComponent.IsUsingBalltree())); }