123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System.Collections.Generic;
- using UnityEngine;
- using James;
- /// <summary>
- /// Animation管理器
- /// </summary>
- public class AnimationManager : SingletonObject<AnimationManager>
- {
- /// <summary>
- /// 监听列表
- /// </summary>
- private List<Animation> s_listenList;
- public AnimationManager()
- {
- s_listenList = new List<Animation>();
- }
- /// <summary>
- /// 添加一个监听
- /// </summary>
- /// <param name="animation">Animation对象</param>
- public void AddListen(Animation animation)
- {
- s_listenList.Add(animation);
- }
- /// <summary>
- /// 移除一个监听
- /// </summary>
- /// <param name="animation">Animation对象</param>
- public void RemoveListen(Animation animation)
- {
- s_listenList.Remove(animation);
- }
- /// <summary>
- /// 获取所有监听
- /// </summary>
- /// <returns>监听对象数组</returns>
- public Animation[] GetAllListen()
- {
- return s_listenList.ToArray();
- }
- /// <summary>
- /// 发送动画播放消息
- /// </summary>
- /// <param name="clipName">片段名称</param>
- public void SenAnimationPlayMessage(string clipName)
- {
- for (int i = 0; i < s_listenList.Count; i++)
- {
- Animation item = s_listenList[i];
- if (item != null && item.GetClip(clipName) != null)
- {
- item[clipName].time = 0;//重置动画状态
- item.Play(clipName);
- }
- }
- }
- }
|