Exemplo n.º 1
0
 protected void OnEditModeStart(Editor editor, UnityEditorInternal.EditMode.SceneViewEditMode mode)
 {
     if ((mode == UnityEditorInternal.EditMode.SceneViewEditMode.Collider) && (editor == this))
     {
         this.OnEditStart();
     }
 }
Exemplo n.º 2
0
 //从一个Animator中获取所有的Animation
 void FindAllAniInControl(UnityEditorInternal.AnimatorController control, List<AnimationClip> list)
 {
     for (int i = 0; i < control.layerCount; i++)
     {
         var layer = control.GetLayer(i);
         FindAllAniInControl(layer.stateMachine, list);
     }
 }
Exemplo n.º 3
0
 void FindAllAniInControl(UnityEditorInternal.StateMachine machine, List<AnimationClip> list)
 {
     for (int i = 0; i < machine.stateCount; i++)
     {
         var m = machine.GetState(i).GetMotion();
         if (list.Contains(m as AnimationClip) == false)
         {
             list.Add(m as AnimationClip);
         }
     }
     for (int i = 0; i < machine.stateMachineCount; i++)
     {
         var m = machine.GetStateMachine(i);
         FindAllAniInControl(m, list);
     }
 }
Exemplo n.º 4
0
        private void OnAddAnimation( UnityEditorInternal.ReorderableList list )
        {
            AnimationClip selectedAnimation = null;
            if( list.index >= 0 && list.index < list.list.Count )
            {
                selectedAnimation = list.list[list.index] as AnimationClip;
            }

            if( selectedAnimation != null )
            {
                var selectedPath = AssetDatabase.GetAssetPath( selectedAnimation );
                var newAnimation = Object.Instantiate( selectedAnimation );

                AssetDatabase.AddObjectToAsset( newAnimation, target );
                AssetDatabase.SaveAssets();
                AssetDatabase.ImportAsset( selectedPath );
            }
            else
            {
                var clip = AnimatorController.AllocateAnimatorClip( "New Clip" );
                AssetDatabase.AddObjectToAsset( clip, target );
                AssetDatabase.SaveAssets();
            }
        }
Exemplo n.º 5
0
        private void OnRemoveAnimation( UnityEditorInternal.ReorderableList list )
        {
            AnimationClip animation = list.list[list.index] as AnimationClip;

            if( animation != null )
            {
                Object.DestroyImmediate( animation, true );
                AssetDatabase.SaveAssets();
            }
        }
Exemplo n.º 6
0
 private void OnAnimationListChanged( UnityEditorInternal.ReorderableList list )
 {
     LoadAnimationList();
 }
Exemplo n.º 7
0
 public Transition AddAnyStateTransition(UnityEditorInternal.State dst)
 {
     return null;
 }
Exemplo n.º 8
0
 public Transition[] GetTransitionsFromState(UnityEditorInternal.State srcState)
 {
     return null;
 }
 private bool IsReflectionProbeEditMode(UnityEditorInternal.EditMode.SceneViewEditMode editMode)
 {
   if (editMode != UnityEditorInternal.EditMode.SceneViewEditMode.ReflectionProbeBox)
     return editMode == UnityEditorInternal.EditMode.SceneViewEditMode.ReflectionProbeOrigin;
   return true;
 }
Exemplo n.º 10
0
 private bool IsReflectionProbeEditMode(UnityEditorInternal.EditMode.SceneViewEditMode editMode)
 {
     return ((editMode == UnityEditorInternal.EditMode.SceneViewEditMode.ReflectionProbeBox) || (editMode == UnityEditorInternal.EditMode.SceneViewEditMode.ReflectionProbeOrigin));
 }
    static ControllerParameterType ConvertParameterType(UnityEditorInternal.AnimatorControllerParameterType paramType)
    {
        switch(paramType)
        {
        case UnityEditorInternal.AnimatorControllerParameterType.Bool: 		return ControllerParameterType.Bool;
        case UnityEditorInternal.AnimatorControllerParameterType.Float: 	return ControllerParameterType.Float;
            #if UNITY_4_2
        case UnityEditorInternal.AnimatorControllerameterType.Vector: 		return ControllerParameterType.Vector;
            #else
        case UnityEditorInternal.AnimatorControllerParameterType.Trigger: 		return ControllerParameterType.Trigger;
            #endif
        case UnityEditorInternal.AnimatorControllerParameterType.Int: 		return ControllerParameterType.Int;

        }
        throw new System.Exception("Unknown type");
    }
 static ControllerStateMachine ConverStateMachine(UnityEditorInternal.StateMachine stateMachine, ControllerState[] states)
 {
     return new ControllerStateMachine() {
         name = stateMachine.name,
         hash = Animator.StringToHash(stateMachine.name),
         states = states.Where(i => stateMachine.EnumerateStates().Any(j => j.uniqueNameHash==i.uniqueNameHash)).ToArray(),
         subStateMachines = Enumerable.Range(0, stateMachine.stateMachineCount).Select(i => ConverStateMachine(stateMachine.GetStateMachine(i),states)).ToArray()
     };
 }
 protected void OnEditModeStart(Editor editor, UnityEditorInternal.EditMode.SceneViewEditMode mode)
 {
   if (mode != UnityEditorInternal.EditMode.SceneViewEditMode.Collider || !((Object) editor == (Object) this))
     return;
   this.OnEditStart();
 }
	protected void HandleOnElementReordered(UnityEditorInternal.ReorderableList p_list)
	{
		FillSelectedWithList(p_list.list, (m_windowInformation != null && m_windowInformation.PickSelectedObjects));
	}
	protected void HandleOnRemove(UnityEditorInternal.ReorderableList p_list)
	{
		List<AOTKeyValuePair<int, GameObject>> v_clonedList = p_list.list is List<AOTKeyValuePair<int, GameObject>> ? (p_list.list as List<AOTKeyValuePair<int, GameObject>>).CloneList() : new List<AOTKeyValuePair<int, GameObject>>();
		try
		{
			int v_index = p_list.index >=0 && p_list.index < v_clonedList.Count? p_list.index : v_clonedList.Count -1;
			v_clonedList.RemoveAt(v_index);
		}
		catch{}
		FillSelectedWithList(v_clonedList, false, true);
		_needRecreateList = true;
	}
	protected void HandleOnAdd(UnityEditorInternal.ReorderableList p_list)
	{
		List<AOTKeyValuePair<int, GameObject>> v_clonedList = p_list.list is List<AOTKeyValuePair<int, GameObject>> ? (p_list.list as List<AOTKeyValuePair<int, GameObject>>).CloneList() : new List<AOTKeyValuePair<int, GameObject>>();
		v_clonedList.Add(new AOTKeyValuePair<int, GameObject>());
		FillSelectedWithList(v_clonedList, false, true);
		_needRecreateList = true;
	}