-1
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
[ExecuteInEditMode]
public class AnimationCamera : MonoBehaviour
{
public string test;
public Camera animationCamera;
public Camera mainCamera;
private Animator _anim;
public List<AnimationClip> animations = new List<AnimationClip>();
private void Start()
{
test = "daniel";
animationCamera.enabled = false;
mainCamera.enabled = true;
_anim = GetComponent<Animator>();
}
private void Update()
{
_anim = GetComponent<Animator>();
foreach (AnimationClip ac in _anim.runtimeAnimatorController.animationClips)
{
animations.Add(ac);
}
if (Input.GetKeyDown(KeyCode.C))
{
animationCamera.enabled = !animationCamera.enabled;
mainCamera.enabled = !mainCamera.enabled;
if (animationCamera.enabled)
{
_anim.CrossFade("Animation_Sign", 0);
}
else
{
_anim.CrossFade("Animation_Idle", 0);
}
}
}
public IEnumerator PlaySignAnimation()
{
animationCamera.enabled = true;
_anim.CrossFade("Animation_Sign", 0);
yield return null; //new WaitForSeconds(animations[0]);
animationCamera.enabled = false;
mainCamera.enabled = true;
}
}
現在它會更新動畫列表並一直在編輯器中向列表添加相同的項目。 由於在編輯器中我會更新Animator窗口,我希望它每次向Animator窗口添加或刪除動畫片段時都會自動更新動畫列表。如何使用[ExecuteInEditMode]更新Update函數內的列表?