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<PlayerPackModel>()); }
|
}
|
|
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 = ConfigManager.Instance.GetTemplate<AttrFruitConfig>(id);
|
if(fruitConfig != null)
|
{
|
CheckRedPointState();
|
}
|
}
|
|
private void RefreshItemUseCnt(int id)
|
{
|
AttrFruitConfig fruitConfig = ConfigManager.Instance.GetTemplate<AttrFruitConfig>(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<AttrFruitConfig> 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
|
}
|
}
|
|