using System; using System.Collections; using System.Collections.Generic; using System.Linq; using TableConfig; namespace Snxxz.UI { public class SignInModel : Model, IBeforePlayerDataInitialize { private void OnFuncStateChangeEvent(int func) { if (func == (int)FuncOpenEnum.SignIn) { UpdateRedPoint(); } } #region 配置 private List m_signAwardList = null; public List signAwardList { get { if (m_signAwardList == null) { m_signAwardList = Config.Instance.GetAllValues(); } return m_signAwardList; } } private List m_ctnSignList = null; public List cntSignList { get { if (m_ctnSignList == null) { m_ctnSignList = Config.Instance.GetAllValues(); } return m_ctnSignList; } } /// /// 补签所需仙玉 /// private int m_ctnSignJade = -1; public int ctnSignJade { get { if (m_ctnSignJade == -1) { FuncConfigConfig cfg = Config.Instance.Get("SignConsumption"); if (cfg != null) { m_ctnSignJade = int.Parse(cfg.Numerical1); } } return m_ctnSignJade; } } #endregion private int m_SignNum = 0; public int signNum { get { return m_SignNum; } } private int m_surSignNum = 0; public int surSignNum { get { return m_surSignNum; } } private bool m_todaySign = false; public bool todaySign { get { return m_todaySign; } } private bool m_isFirst = true; public bool isFirst { get { return m_isFirst; } } public int SumSignNum { get; private set; } public event Action OnSignRefresh; public Redpoint redpoint = new Redpoint(201, 20101); public void OnRefreshData(HA30D_tagMCDaySignInfo vNetData) { m_SignNum = vNetData.DaySignCount; m_surSignNum = vNetData.ReplenishSignCount; SumSignNum = vNetData.TotalSignCount; m_todaySign = vNetData.IsSign == 1; m_isFirst = vNetData.IsFrist == 1; if (OnSignRefresh != null) OnSignRefresh(); UpdateRedPoint(); } private void UpdateRedPoint() { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.SignIn)) { redpoint.state = RedPointState.None; return; } redpoint.state = todaySign ? RedPointState.None : RedPointState.GetReward; } public override void Init() { FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; ParseConfig(); } public override void UnInit() { } public void OnBeforePlayerDataInitialize() { m_SignNum = 0; m_surSignNum = 0; m_todaySign = false; m_isFirst = true; SumSignNum = 0; } public Dictionary> m_ContinueJobItems = new Dictionary>(); void ParseConfig() { var _cfgs = Config.Instance.GetAllValues(); for (int i = 0; i < _cfgs.Count; i++) { var _cfg = _cfgs[i]; if (_cfg.JobItemList.Length != 0) { m_ContinueJobItems.Add(_cfg.ContineDay, new List(_cfg.JobItemList)); } } } } }