| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | using System.Collections.Generic;using ET;namespace GFGGame{    public class RoleLimitDataManager    {        private static Dictionary<int, RoleLimitData> _roleLimitDatas = new Dictionary<int, RoleLimitData>();        public static void InitServerData(List<UnitLimitInfoProto> unitLimitInfoProtos)        {            _roleLimitDatas.Clear();            foreach (var proto in unitLimitInfoProtos)            {                var data = new RoleLimitData();                data.FromMessage(proto);                _roleLimitDatas.Add(proto.LimitId, data);                EventAgent.DispatchEvent(ConstMessage.NOTICE_LIMIT_CHANGED, proto.LimitId);            }        }        public static void UpdateLimitData(UnitLimitInfoProto proto)        {            _roleLimitDatas.TryGetValue(proto.LimitId, out var data);            if(data == null)            {                data = new RoleLimitData();                _roleLimitDatas.Add(proto.LimitId, data);            }            data.FromMessage(proto);            EventAgent.DispatchEvent(ConstMessage.NOTICE_LIMIT_CHANGED, proto.LimitId);        }        public static RoleLimitData GetLimitData(int limitId)        {            _roleLimitDatas.TryGetValue(limitId, out var data);            return data;        }        public static bool CheckPlayTimesEnough(int limitId, int times)        {            var data = GetLimitData(limitId);            if(data == null)            {                return true;            }            return data.TotalPlayMax >= data.PlayTimes + times;        }    }}
 |