少年修仙传客户端代码仓库
QD-PangDeRong
2018-08-09 faad5378eb50a337d1f210bacdc777224b42fb32
增加多被修行红点和修改宗门试炼跳转
3个文件已修改
2个文件已添加
117 ■■■■■ 已修改文件
System/Welfare/MultipleRealmPointModel.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/MultipleRealmPointModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/WelfareWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/ModelCenter.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/MultipleRealmPointModel.cs
New file
@@ -0,0 +1,96 @@
using System;
using UnityEngine;
namespace Snxxz.UI
{
    public class MultipleRealmPointModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
    {
        public const int MULTIPLEREALM_KEY = 20109;
        public Redpoint multipleRed = new Redpoint(201,MULTIPLEREALM_KEY);
        public string LocalRecord_Key = "MultipleRealmRecord";
        bool isNewDay = false;
        public override void Init()
        {
        }
        public void OnBeforePlayerDataInitialize()
        {
            isNewDay = false;
        }
        public void OnAfterPlayerDataInitialize()
        {
        }
        public void OnPlayerLoginOk()
        {
            LocalRecord_Key = StringUtility.Contact(LocalRecord_Key, PlayerDatas.Instance.baseData.PlayerID);
            CheckShowRed();
            OperationTimeHepler.Instance.operationStartEvent -= RefreshOperationState;
            OperationTimeHepler.Instance.operationStartEvent += RefreshOperationState;
            OperationTimeHepler.Instance.operationEndEvent -= RefreshOperationState;
            OperationTimeHepler.Instance.operationEndEvent += RefreshOperationState;
            OperationTimeHepler.Instance.operationServerCloseEvent -= RefreshOperationClose;
            OperationTimeHepler.Instance.operationServerCloseEvent += RefreshOperationClose;
        }
        public override void UnInit()
        {
        }
        private void RefreshOperationClose(Operation type)
        {
            if (type != Operation.MultipRealmPoint) return;
            CheckShowRed();
        }
        private void RefreshOperationState(Operation type, int arg2)
        {
            if (type != Operation.MultipRealmPoint) return;
            CheckShowRed();
        }
        public void CheckShowRed(bool isClick = false)
        {
            bool isOpen = OperationTimeHepler.Instance.SatisfyOpenCondition(Operation.MultipRealmPoint);
            if (!isOpen) return;
            if(!isNewDay)
            {
                if (!PlayerPrefs.HasKey(LocalRecord_Key))
                {
                    LocalSave.SetInt(LocalRecord_Key, TimeUtility.ServerNow.Day);
                    isNewDay = true;
                }
                else
                {
                    if (TimeUtility.ServerNow.Day != LocalSave.GetInt(LocalRecord_Key))
                    {
                        isNewDay = true;
                        LocalSave.SetInt(LocalRecord_Key, TimeUtility.ServerNow.Day);
                    }
                }
            }
            if(!isClick)
            {
                if (isOpen && isNewDay)
                {
                    multipleRed.state = RedPointState.Simple;
                }
                else
                {
                    multipleRed.state = RedPointState.None;
                }
            }
            else
            {
                multipleRed.state = RedPointState.None;
            }
        }
    }
}
System/Welfare/MultipleRealmPointModel.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 7f0f944899a17f2458886aa5a15aac71
timeCreated: 1533719778
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Welfare/WelfareWin.cs
@@ -30,6 +30,7 @@
        [SerializeField] Text m_MultipleRealmPointTitle;
        MultipleExpModel multipleExpModel { get { return ModelCenter.Instance.GetModel<MultipleExpModel>(); } }
        MultipleRealmPointModel multipleRealmModel { get { return ModelCenter.Instance.GetModel<MultipleRealmPointModel>(); } }
        ConsumeRebateModel consumeRebateModel { get { return ModelCenter.Instance.GetModel<ConsumeRebateModel>(); } }
        InSevenDayModel m_InSevenDayModel;
        InSevenDayModel inSevenDay { get { return m_InSevenDayModel ?? (m_InSevenDayModel = ModelCenter.Instance.GetModel<InSevenDayModel>()); } }
@@ -152,6 +153,7 @@
            {
                WindowCenter.Instance.Open<NPracticePointWin>();
            }
            multipleRealmModel.CheckShowRed(true);
            functionOrder = 8;
        }
System/WindowBase/ModelCenter.cs
@@ -186,6 +186,7 @@
            RegisterModel<FairylandCeremonyModel>();
            RegisterModel<TrialDungeonModel>();
            RegisterModel<ActivitiesPushMgr>();
            RegisterModel<MultipleRealmPointModel>();
            inited = true;
        }
System/WindowJump/WindowJumpMgr.cs
@@ -728,13 +728,13 @@
    {
        var config = ConfigManager.Instance.GetTemplate<DailyQuestConfig>(_dailyQuestId);
        dungeonModel.currentDungeon = new Dungeon(config.RelatedID, _lineId);
        WindowCenter.Instance.Open<HeavenBattleWin>();
        SetJumpLogic<HeavenBattleWin>();
    }
    private void GotoTrialDungeon(int _dailyQuestId, int _lineId = 0)
    {
        var config = ConfigManager.Instance.GetTemplate<DailyQuestConfig>(_dailyQuestId);
        dungeonModel.currentDungeon = new Dungeon(config.RelatedID, _lineId);
        WindowCenter.Instance.Open<TrialDungeonSelectWin>();
        SetJumpLogic<TrialDungeonSelectWin>();
    }
    private void GotoMultipleDifficultyDungeon(int _dailyQuestId)
@@ -742,7 +742,7 @@
        var config = ConfigManager.Instance.GetTemplate<DailyQuestConfig>(_dailyQuestId);
        dungeonModel.currentDungeon = new Dungeon(config.RelatedID, 0);
        dungeonModel.selectedKylinDungeon = default(Dungeon);
        WindowCenter.Instance.Open<MultipleDifficultyDungeonWin>();
        SetJumpLogic<MultipleDifficultyDungeonWin>();
    }
    private void SetJumpLogic<T>(int _functionalOrder = 0, bool _forceSync = true) where T : Window