Initial Commit
This commit is contained in:
parent
53eb92e9af
commit
270ab7d11f
15341 changed files with 700234 additions and 0 deletions
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using MLAPI.Prototyping;
|
||||
using UnityEditor.Animations;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UnityEditor
|
||||
{
|
||||
[CustomEditor(typeof(NetworkAnimator), true)]
|
||||
[CanEditMultipleObjects]
|
||||
public class NetworkAnimatorEditor : Editor
|
||||
{
|
||||
private NetworkAnimator m_Target;
|
||||
|
||||
[NonSerialized]
|
||||
private bool m_Initialized;
|
||||
|
||||
private SerializedProperty m_AnimatorProperty;
|
||||
private GUIContent m_AnimatorLabel;
|
||||
|
||||
private void Initialize()
|
||||
{
|
||||
if (m_Initialized) return;
|
||||
|
||||
m_Initialized = true;
|
||||
m_Target = target as NetworkAnimator;
|
||||
|
||||
m_AnimatorProperty = serializedObject.FindProperty("m_Animator");
|
||||
m_AnimatorLabel = new GUIContent("Animator", "The Animator component to synchronize.");
|
||||
}
|
||||
|
||||
private void DrawControls()
|
||||
{
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(m_AnimatorProperty, m_AnimatorLabel);
|
||||
if (EditorGUI.EndChangeCheck()) m_Target.ResetTrackedParams();
|
||||
|
||||
var animator = m_Target.Animator;
|
||||
if (animator == null) return;
|
||||
|
||||
var animatorController = animator.runtimeAnimatorController as AnimatorController;
|
||||
if (animatorController == null) return;
|
||||
|
||||
EditorGUI.indentLevel += 1;
|
||||
var showWarning = false;
|
||||
{
|
||||
int paramIndex = 0;
|
||||
foreach (var animParam in animatorController.parameters)
|
||||
{
|
||||
if (paramIndex >= 32)
|
||||
{
|
||||
showWarning = true;
|
||||
break;
|
||||
}
|
||||
|
||||
bool wasTracking = m_Target.GetParamTracking(paramIndex);
|
||||
bool isTracking = EditorGUILayout.Toggle(animParam.name, wasTracking);
|
||||
if (isTracking != wasTracking)
|
||||
{
|
||||
m_Target.SetParamTracking(paramIndex, isTracking);
|
||||
EditorUtility.SetDirty(target);
|
||||
}
|
||||
|
||||
paramIndex++;
|
||||
}
|
||||
}
|
||||
if (showWarning) EditorGUILayout.HelpBox("NetworkAnimator can only select between the first 32 parameters in a mecanim controller", MessageType.Warning);
|
||||
EditorGUI.indentLevel -= 1;
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
Initialize();
|
||||
serializedObject.Update();
|
||||
DrawControls();
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue