private void AvatarMaskSettings(AnimationClipInfoProperties clipInfo) { if (clipInfo == null || !((UnityEngine.Object) this.m_AnimationClipEditor != (UnityEngine.Object)null)) { return; } this.InitMask(clipInfo); int indentLevel = EditorGUI.indentLevel; bool changed = GUI.changed; ModelImporterClipEditor.m_MaskFoldout = EditorGUILayout.Foldout(ModelImporterClipEditor.m_MaskFoldout, ModelImporterClipEditor.styles.Mask); GUI.changed = changed; if (clipInfo.maskType == ClipAnimationMaskType.CreateFromThisModel && !this.m_MaskInspector.IsMaskUpToDate()) { GUILayout.BeginHorizontal(EditorStyles.helpBox, new GUILayoutOption[0]); GUILayout.Label("Mask does not match hierarchy. Animation might not import correctly", EditorStyles.wordWrappedMiniLabel, new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5f); if (GUILayout.Button("Fix Mask")) { this.SetTransformMaskFromReference(clipInfo); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else if (clipInfo.maskType == ClipAnimationMaskType.CopyFromOther && clipInfo.MaskNeedsUpdating()) { GUILayout.BeginHorizontal(EditorStyles.helpBox, new GUILayoutOption[0]); GUILayout.Label("Source Mask has changed since last import. It must be Updated", EditorStyles.wordWrappedMiniLabel, new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5f); if (GUILayout.Button("Update Mask")) { clipInfo.MaskToClip(clipInfo.maskSource); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); } if (ModelImporterClipEditor.m_MaskFoldout) { ++EditorGUI.indentLevel; this.m_MaskInspector.OnInspectorGUI(); } EditorGUI.indentLevel = indentLevel; }
//////////////////////////////////////////////////////////////////////////////////////////////////////// /// private void AvatarMaskSettings(AnimationClipInfoProperties clipInfo) { if (clipInfo != null && m_AnimationClipEditor != null) { InitMask(clipInfo); int prevIndent = EditorGUI.indentLevel; // Don't make toggling foldout cause GUI.changed to be true (shouldn't cause undoable action etc.) bool wasChanged = GUI.changed; m_MaskFoldout = EditorGUILayout.Foldout(m_MaskFoldout, styles.Mask, true); GUI.changed = wasChanged; if (clipInfo.maskType == ClipAnimationMaskType.CreateFromThisModel && !m_MaskInspector.IsMaskUpToDate() && !m_MaskInspector.IsMaskEmpty()) { GUILayout.BeginHorizontal(EditorStyles.helpBox); GUILayout.Label(styles.MaskHasAPath, EditorStyles.wordWrappedMiniLabel); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5); if (GUILayout.Button(styles.UpdateMask)) { SetTransformMaskFromReference(clipInfo); m_MaskInspector.UpdateTransformInfos(); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else if (clipInfo.maskType == ClipAnimationMaskType.CopyFromOther && clipInfo.MaskNeedsUpdating()) { GUILayout.BeginHorizontal(EditorStyles.helpBox); GUILayout.Label(styles.SourceMaskHasChanged, EditorStyles.wordWrappedMiniLabel); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5); if (GUILayout.Button(styles.UpdateMask)) { clipInfo.MaskToClip(clipInfo.maskSource); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else if (clipInfo.maskType == ClipAnimationMaskType.CopyFromOther && !m_MaskInspector.IsMaskUpToDate()) { GUILayout.BeginHorizontal(EditorStyles.helpBox); GUILayout.Label(styles.SourceMaskHasAPath, EditorStyles.wordWrappedMiniLabel); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } if (m_MaskFoldout) { EditorGUI.indentLevel++; m_MaskInspector.OnInspectorGUI(); } EditorGUI.indentLevel = prevIndent; } }
private void AvatarMaskSettings(AnimationClipInfoProperties clipInfo) { if (clipInfo == null || !((UnityEngine.Object) this.m_AnimationClipEditor != (UnityEngine.Object) null)) return; this.InitMask(clipInfo); int indentLevel = EditorGUI.indentLevel; bool changed = GUI.changed; ModelImporterClipEditor.m_MaskFoldout = EditorGUILayout.Foldout(ModelImporterClipEditor.m_MaskFoldout, ModelImporterClipEditor.styles.Mask); GUI.changed = changed; if (clipInfo.maskType == ClipAnimationMaskType.CreateFromThisModel && !this.m_MaskInspector.IsMaskUpToDate()) { GUILayout.BeginHorizontal(EditorStyles.helpBox, new GUILayoutOption[0]); GUILayout.Label("Mask does not match hierarchy. Animation might not import correctly", EditorStyles.wordWrappedMiniLabel, new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5f); if (GUILayout.Button("Fix Mask")) this.SetTransformMaskFromReference(clipInfo); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else if (clipInfo.maskType == ClipAnimationMaskType.CopyFromOther && clipInfo.MaskNeedsUpdating()) { GUILayout.BeginHorizontal(EditorStyles.helpBox, new GUILayoutOption[0]); GUILayout.Label("Source Mask has changed since last import. It must be Updated", EditorStyles.wordWrappedMiniLabel, new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.Space(5f); if (GUILayout.Button("Update Mask")) clipInfo.MaskToClip(clipInfo.maskSource); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } if (ModelImporterClipEditor.m_MaskFoldout) { ++EditorGUI.indentLevel; this.m_MaskInspector.OnInspectorGUI(); } EditorGUI.indentLevel = indentLevel; }