84 lines
2.5 KiB
C#
84 lines
2.5 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
public class SimpleAnimationTransitions : MonoBehaviour {
|
|||
|
enum AnimationType
|
|||
|
{
|
|||
|
Legacy,
|
|||
|
SimplePlayable,
|
|||
|
StateMachine
|
|||
|
}
|
|||
|
AnimationType animationType;
|
|||
|
SimpleAnimation simpleAnimation;
|
|||
|
public AnimationClip clip;
|
|||
|
// Use this for initialization
|
|||
|
IEnumerator Start ()
|
|||
|
{
|
|||
|
var animationComponent = GetComponent<Animation>();
|
|||
|
var animatorComponent = GetComponent<Animator>();
|
|||
|
var simpleAnimationComponent = GetComponent<SimpleAnimation>();
|
|||
|
if (animationComponent)
|
|||
|
animationType = AnimationType.Legacy;
|
|||
|
else if (simpleAnimationComponent)
|
|||
|
animationType = AnimationType.SimplePlayable;
|
|||
|
else
|
|||
|
animationType = AnimationType.StateMachine;
|
|||
|
|
|||
|
|
|||
|
switch (animationType)
|
|||
|
{
|
|||
|
case AnimationType.Legacy:
|
|||
|
animationComponent.AddClip(clip, "A");
|
|||
|
animationComponent.AddClip(clip, "B");
|
|||
|
break;
|
|||
|
case AnimationType.SimplePlayable:
|
|||
|
simpleAnimationComponent.AddClip(clip, "A");
|
|||
|
simpleAnimationComponent.AddClip(clip, "B");
|
|||
|
break;
|
|||
|
case AnimationType.StateMachine:
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
while(true)
|
|||
|
{
|
|||
|
switch (animationType)
|
|||
|
{
|
|||
|
case AnimationType.Legacy:
|
|||
|
animationComponent.Play("A");
|
|||
|
break;
|
|||
|
case AnimationType.SimplePlayable:
|
|||
|
simpleAnimationComponent.Play("A");
|
|||
|
break;
|
|||
|
case AnimationType.StateMachine:
|
|||
|
animatorComponent.Play("A");
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
yield return new WaitForSeconds(0.5f);
|
|||
|
|
|||
|
switch (animationType)
|
|||
|
{
|
|||
|
case AnimationType.Legacy:
|
|||
|
animationComponent.Play("B");
|
|||
|
break;
|
|||
|
case AnimationType.SimplePlayable:
|
|||
|
simpleAnimationComponent.Play("B");
|
|||
|
break;
|
|||
|
case AnimationType.StateMachine:
|
|||
|
animatorComponent.Play("B");
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
yield return new WaitForSeconds(0.5f);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|