using System.Collections; using System.Collections.Generic; using UnityEngine; using TableConfig; using System; namespace Snxxz.UI { public class RoleModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk { PlayerPackModel _playerPack; PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel()); } } public override void Init() { } public void OnBeforePlayerDataInitialize() { playerPack.RefreshItemCountAct -= RefreshItemCnt; playerPack.RefreshItemSumUseCntAct -= RefreshItemUseCnt; } public void OnAfterPlayerDataInitialize() { } public void OnPlayerLoginOk() { playerPack.RefreshItemCountAct += RefreshItemCnt; playerPack.RefreshItemSumUseCntAct += RefreshItemUseCnt; CheckRedPointState(); } public override void UnInit() { } private void RefreshItemCnt(PackType type, int index, int id) { if (type != PackType.rptItem) return; AttrFruitConfig fruitConfig = Config.Instance.Get(id); if(fruitConfig != null) { CheckRedPointState(); } } private void RefreshItemUseCnt(int id) { AttrFruitConfig fruitConfig = Config.Instance.Get(id); if (fruitConfig != null) { CheckRedPointState(); } } #region 红点逻辑 public const int RedPoint_MakeDrugKey = 11002; public Redpoint MakeDrugRedpoint = new Redpoint(BlastFurnaceModel.BLASTREDPOINT_KEY, RedPoint_MakeDrugKey); public void CheckRedPointState() { List list = playerPack.makeDruglist; if(list != null) { for(int i = 0; i < list.Count;i++) { int haveCnt = playerPack.GetItemCountByID(PackType.rptItem,list[i].ID); if(haveCnt > 0 && !playerPack.IsReachMaxUseDrug(list[i])) { MakeDrugRedpoint.state = RedPointState.Simple; return; } } } MakeDrugRedpoint.state = RedPointState.None; } #endregion } }