美文网首页unity3D技术分享
【Unity】协程管理中心

【Unity】协程管理中心

作者: 木心Sepith | 来源:发表于2019-03-01 11:11 被阅读14次
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class CoroutineManager : SingletonTemplate<CoroutineManager>
    {
        private Dictionary<string, IEnumerator> ieDic = new Dictionary<string, IEnumerator>();
    
        public void StartCorotine(string name, IEnumerator ie)
        {
            if (ieDic.ContainsKey(name)) return;
    
            ieDic.Add(name, ie);
            GameManager.inst.StartCoroutine(ie);
        }
    
        public void StopCorotine(string name)
        {
            if (!ieDic.ContainsKey(name)) return;
    
            IEnumerator cor = ieDic[name];
            GameManager.inst.StopCoroutine(cor);
            ieDic.Remove(name);
        }
    
        public void Clear()
        {
            foreach (var v in ieDic)
            {
                GameManager.inst.StopCoroutine(v.Value);
            }
    
            ieDic.Clear();
        }
    }
    

    相关文章

      网友评论

        本文标题:【Unity】协程管理中心

        本文链接:https://www.haomeiwen.com/subject/tsthuqtx.html