| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
using System.Collections.Generic;using FairyGUI;namespace GFGGame{    public class RedDotController : SingletonBase<RedDotController>    {        private List<GComponent> comRedDotPool = new List<GComponent>();        public void Clear()        {            for (int i = 0; i < comRedDotPool.Count; i++)            {                comRedDotPool[i].Dispose();            }            comRedDotPool.Clear();        }        public void SetComRedDot(GComponent parentCom, bool isRed, string res = "", int left = 0, int top = 0)        {            GComponent comRedDot;            if (isRed)            {                if (parentCom.GetChild("comResDot") != null)                {                    comRedDot = parentCom.GetChild("comResDot").asCom;                    comRedDot.SetPosition(parentCom.width - comRedDot.width + left, top, 0);                    return;                }                if (comRedDotPool.Count > 0)                {                    comRedDot = comRedDotPool[0];                    comRedDotPool.RemoveAt(0);                }                else                {                    comRedDot = UIPackage.CreateObject("CommonGame", "ComRedDot").asCom;                }                parentCom.AddChild(comRedDot);                comRedDot.name = "comResDot";                comRedDot.SetPosition(parentCom.width - comRedDot.width + left, top, 0);                // comRedDot.AddRelation(comRedDot, RelationType.TopExt_Top);                // comRedDot.AddRelation(comRedDot, RelationType.RightExt_Right);                string path = ResPathUtil.GetCommonGameResPath(res == "" ? "zx_hogndian" : res);                GLoader loaIcon = comRedDot.GetChild("loaIcon").asLoader;                loaIcon.url = path;                EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);            }            else            {                if (parentCom.GetChild("comResDot") != null)                {                    comRedDot = parentCom.GetChild("comResDot").asCom;                    comRedDotPool.Add(comRedDot);                    parentCom.RemoveChild(comRedDot);                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);                }            }        }    }}
 |