| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | 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);            }        }        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;        }    }}
 |