| | |
| | | [XLua.LuaCallCSharp]
|
| | | public class SignInModel : Model, IBeforePlayerDataInitialize
|
| | | {
|
| | | private void OnFuncStateChangeEvent(int func)
|
| | | public int keepSignInCost
|
| | | {
|
| | | if (func == (int)FuncOpenEnum.SignIn)
|
| | | {
|
| | | UpdateRedPoint();
|
| | | }
|
| | | }
|
| | | #region 配置
|
| | | private List<SignInConfig> m_signAwardList = null;
|
| | | public List<SignInConfig> signAwardList
|
| | | {
|
| | | get
|
| | | {
|
| | | if (m_signAwardList == null)
|
| | | {
|
| | | m_signAwardList = Config.Instance.GetAllValues<SignInConfig>();
|
| | | }
|
| | | return m_signAwardList;
|
| | | }
|
| | | get; private set;
|
| | | }
|
| | |
|
| | | private List<ContinueSignInConfig> m_ctnSignList = null;
|
| | | public List<ContinueSignInConfig> cntSignList
|
| | | public int alreadySignInCount
|
| | | {
|
| | | get
|
| | | {
|
| | | if (m_ctnSignList == null)
|
| | | {
|
| | | m_ctnSignList = Config.Instance.GetAllValues<ContinueSignInConfig>();
|
| | | }
|
| | | return m_ctnSignList;
|
| | | }
|
| | | }
|
| | | /// <summary>
|
| | | /// 补签所需仙玉
|
| | | /// </summary>
|
| | | private int m_ctnSignJade = -1;
|
| | | public int ctnSignJade
|
| | | {
|
| | | get
|
| | | {
|
| | | if (m_ctnSignJade == -1)
|
| | | {
|
| | | FuncConfigConfig cfg = Config.Instance.Get<FuncConfigConfig>("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; }
|
| | | get; private set;
|
| | | }
|
| | |
|
| | | public int SumSignNum { get; private set; }
|
| | | public int keepSignInCount
|
| | | {
|
| | | get; private set;
|
| | | }
|
| | |
|
| | | public bool todaySignIn
|
| | | {
|
| | | get;private set;
|
| | | }
|
| | |
|
| | | public bool IsFirstMonth
|
| | | {
|
| | | get; private set;
|
| | | }
|
| | |
|
| | | public int totalSignInCount { get; private set; }
|
| | |
|
| | | public event Action OnSignRefresh;
|
| | |
|
| | |
| | |
|
| | | 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))
|
| | | alreadySignInCount = vNetData.DaySignCount;
|
| | | keepSignInCount = vNetData.ReplenishSignCount;
|
| | | totalSignInCount = vNetData.TotalSignCount;
|
| | | todaySignIn = vNetData.IsSign == 1;
|
| | | IsFirstMonth = vNetData.IsFrist == 1;
|
| | | if (OnSignRefresh != null)
|
| | | {
|
| | | redpoint.state = RedPointState.None;
|
| | | return;
|
| | | OnSignRefresh();
|
| | | }
|
| | | redpoint.state = todaySign ? RedPointState.None : RedPointState.GetReward;
|
| | | UpdateRedPoint();
|
| | | }
|
| | |
|
| | | public override void Init()
|
| | |
| | |
|
| | | public override void UnInit()
|
| | | {
|
| | | FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
|
| | | }
|
| | |
|
| | | public Dictionary<int, List<int>> m_KeepSignInItemDict = new Dictionary<int, List<int>>();
|
| | | void ParseConfig()
|
| | | {
|
| | | var configs = Config.Instance.GetAllValues<ContinueSignInConfig>();
|
| | | for (int i = 0; i < configs.Count; i++)
|
| | | {
|
| | | var config = configs[i];
|
| | | if (config.JobItemList.Length != 0)
|
| | | {
|
| | | m_KeepSignInItemDict.Add(config.ContineDay, new List<int>(config.JobItemList));
|
| | | }
|
| | | }
|
| | |
|
| | | {
|
| | | var config = Config.Instance.Get<FuncConfigConfig>("SignConsumption");
|
| | | keepSignInCost = int.Parse(config.Numerical1);
|
| | | }
|
| | | }
|
| | |
|
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | m_SignNum = 0;
|
| | | m_surSignNum = 0;
|
| | | m_todaySign = false;
|
| | | m_isFirst = true;
|
| | | SumSignNum = 0;
|
| | | alreadySignInCount = 0;
|
| | | keepSignInCount = 0;
|
| | | todaySignIn = false;
|
| | | IsFirstMonth = true;
|
| | | totalSignInCount = 0;
|
| | | }
|
| | |
|
| | |
|
| | | public Dictionary<int, List<int>> m_ContinueJobItems = new Dictionary<int, List<int>>();
|
| | | void ParseConfig()
|
| | | private void UpdateRedPoint()
|
| | | {
|
| | | var _cfgs = Config.Instance.GetAllValues<ContinueSignInConfig>();
|
| | | for (int i = 0; i < _cfgs.Count; i++)
|
| | | if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.SignIn))
|
| | | {
|
| | | var _cfg = _cfgs[i];
|
| | | if (_cfg.JobItemList.Length != 0)
|
| | | {
|
| | | m_ContinueJobItems.Add(_cfg.ContineDay, new List<int>(_cfg.JobItemList));
|
| | | }
|
| | | redpoint.state = RedPointState.None;
|
| | | return;
|
| | | }
|
| | | redpoint.state = todaySignIn ? RedPointState.None : RedPointState.GetReward;
|
| | | }
|
| | |
|
| | | private void OnFuncStateChangeEvent(int func)
|
| | | {
|
| | | if (func == (int)FuncOpenEnum.SignIn)
|
| | | {
|
| | | UpdateRedPoint();
|
| | | }
|
| | | }
|
| | | }
|