override public void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(m_RecordProperty); Transform targetTransform = null; if (m_Ik2D.target) { targetTransform = m_Ik2D.target.transform; } EditorGUI.BeginChangeCheck(); Transform newTargetTransform = EditorGUILayout.ObjectField(new GUIContent("Target"), targetTransform, typeof(Transform), true) as Transform; if (EditorGUI.EndChangeCheck()) { Undo.RegisterCompleteObjectUndo(m_Ik2D, "set target"); if (newTargetTransform && !newTargetTransform.GetComponent <Bone2D>()) { newTargetTransform = null; } if (newTargetTransform != targetTransform) { m_TargetTransformProperty.objectReferenceValue = newTargetTransform; IkUtils.InitializeIk2D(serializedObject); EditorUpdater.SetDirty("set target"); } } /* * EditorGUI.BeginChangeCheck(); * * EditorGUILayout.PropertyField(m_TargetTransformProperty); * * if(EditorGUI.EndChangeCheck()) * { * IkUtils.InitializeIk2D(serializedObject); * * DoUpdateIK(); * } */ EditorGUI.BeginChangeCheck(); EditorGUILayout.Slider(m_WeightProperty, 0f, 1f); EditorGUILayout.PropertyField(m_RestorePoseProperty); EditorGUILayout.PropertyField(m_OrientChildProperty); if (EditorGUI.EndChangeCheck()) { EditorUpdater.SetDirty(Undo.GetCurrentGroupName()); } serializedObject.ApplyModifiedProperties(); }
override public void OnInspectorGUI() { serializedObject.Update(); SerializedProperty targetProp = serializedObject.FindProperty("m_Target"); SerializedProperty weightProp = serializedObject.FindProperty("m_Weight"); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(targetProp); if (EditorGUI.EndChangeCheck()) { IkUtils.InitializeIk2D(serializedObject); DoUpdateIK(); } EditorGUI.BeginChangeCheck(); EditorGUILayout.Slider(weightProp, 0f, 1f); if (EditorGUI.EndChangeCheck()) { DoUpdateIK(); } serializedObject.ApplyModifiedProperties(); }
override public void OnInspectorGUI() { IkCCD2D ikCCD2D = target as IkCCD2D; base.OnInspectorGUI(); SerializedProperty numBonesProp = serializedObject.FindProperty("m_NumBones"); SerializedProperty iterationsProp = serializedObject.FindProperty("iterations"); SerializedProperty dampingProp = serializedObject.FindProperty("damping"); Bone2D targetBone = ikCCD2D.target; serializedObject.Update(); EditorGUI.BeginDisabledGroup(!targetBone); EditorGUI.BeginChangeCheck(); int chainLength = 0; if (targetBone) { chainLength = targetBone.chainLength; } EditorGUILayout.IntSlider(numBonesProp, 0, chainLength); if (EditorGUI.EndChangeCheck()) { Undo.RegisterCompleteObjectUndo(ikCCD2D, "Set num bones"); IkUtils.InitializeIk2D(serializedObject); EditorUpdater.SetDirty("Set num bones"); } EditorGUI.EndDisabledGroup(); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(iterationsProp); EditorGUILayout.PropertyField(dampingProp); if (EditorGUI.EndChangeCheck()) { EditorUpdater.SetDirty(Undo.GetCurrentGroupName()); } serializedObject.ApplyModifiedProperties(); }
override public void OnInspectorGUI() { base.OnInspectorGUI(); serializedObject.Update(); SerializedProperty targetBoneProp = serializedObject.FindProperty("m_Target"); SerializedProperty numBonesProp = serializedObject.FindProperty("m_NumBones"); SerializedProperty iterationsProp = serializedObject.FindProperty("iterations"); SerializedProperty dampingProp = serializedObject.FindProperty("damping"); Bone2D targetBone = targetBoneProp.objectReferenceValue as Bone2D; EditorGUI.BeginDisabledGroup(!targetBone); EditorGUI.BeginChangeCheck(); int chainLength = 0; if (targetBone) { chainLength = targetBone.chainLength; } EditorGUILayout.IntSlider(numBonesProp, 0, chainLength); if (EditorGUI.EndChangeCheck()) { IkUtils.InitializeIk2D(serializedObject); DoUpdateIK(); } EditorGUI.EndDisabledGroup(); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(iterationsProp); EditorGUILayout.PropertyField(dampingProp); if (EditorGUI.EndChangeCheck()) { DoUpdateIK(); } serializedObject.ApplyModifiedProperties(); }