少年修仙传客户端代码仓库
4671 【主干】缥缈仙域bug;修复日常界面缥缈仙域和个人boss的表现和购买
12个文件已修改
292 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/DailyQuestConfig.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DailyQuestConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DailyQuestOpenTimeConfig.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DailyQuestOpenTimeConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestBehaviour.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestModel.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyDemonKingVictoryWin.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionBuyTimesWin.cs 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionEntrancePanel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HazyRegion/HazyRegionModel.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DailyQuestConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Tuesday, November 12, 2019
//    [  Date ]:           Saturday, February 08, 2020
//--------------------------------------------------------
using System.Collections.Generic;
Core/GameEngine/Model/Config/DailyQuestConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: ae69f94aed5143b41b0f92a45fc7de90
timeCreated: 1573562593
timeCreated: 1581151591
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/Config/DailyQuestOpenTimeConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Wednesday, May 15, 2019
//    [  Date ]:           Saturday, February 08, 2020
//--------------------------------------------------------
using System.Collections.Generic;
@@ -20,6 +20,7 @@
    public readonly int Duration;
    public readonly int DayTimes;
    public readonly int DayBuyTimes;
    public readonly int BuyTimesPrivilegeID;
    public readonly int BuyNeedMoney;
    public readonly int DayItemAddTimes;
    public readonly int DayItemID;
@@ -52,19 +53,21 @@
            int.TryParse(tables[6],out DayBuyTimes); 
            int.TryParse(tables[7],out BuyNeedMoney);
            int.TryParse(tables[7],out BuyTimesPrivilegeID);
            int.TryParse(tables[8],out DayItemAddTimes);
            int.TryParse(tables[8],out BuyNeedMoney);
            int.TryParse(tables[9],out DayItemID);
            int.TryParse(tables[9],out DayItemAddTimes);
            int.TryParse(tables[10],out DayReKind);
            int.TryParse(tables[10],out DayItemID);
            int.TryParse(tables[11],out WeekTimes);
            int.TryParse(tables[11],out DayReKind);
            int.TryParse(tables[12],out WeekReKind);
            int.TryParse(tables[12],out WeekTimes);
            int.TryParse(tables[13],out OpenUI);
            int.TryParse(tables[13],out WeekReKind);
            int.TryParse(tables[14],out OpenUI);
        }
        catch (Exception ex)
        {
Core/GameEngine/Model/Config/DailyQuestOpenTimeConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: c6f0b6d546225e442839089494e039bc
timeCreated: 1557892246
timeCreated: 1581154145
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/DailyQuest/DailyQuestBehaviour.cs
@@ -148,6 +148,8 @@
                            model.GotoDailyQuest(data.id);
                            break;
                        case DailyQuestType.HazyRegion:
                            WindowCenter.Instance.Open<HazyRegionBuyTimesWin>();
                            break;
                        case DailyQuestType.ActivityPlace:
                            model.GotoDailyQuest(data.id);
                            break;
System/DailyQuest/DailyQuestModel.cs
@@ -30,6 +30,7 @@
        PrayerModel modelPray { get { return ModelCenter.Instance.GetModel<PrayerModel>(); } }
        WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
        private PackModel m_PackModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
        int m_DailyQuestTotalActiveValue = 150;
        public int dailyQuestTotalActiveValue {
@@ -1193,11 +1194,11 @@
                switch (config.RelatedType)
                {
                    case 1:
                        var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
                        switch (config.RelatedID)
                        {
                            case 11:
                                {
                                    var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
                                    if (completedTimes >= dailyQuestOpenTime.DayTimes + GeneralDefine.runeTowerSweepBuyTimes)
                                    {
                                        return DailyQuestState.Completed;
@@ -1207,8 +1208,19 @@
                                        return DailyQuestState.CanBuyTimes;
                                    }
                                }
                            case 19:
                            case 25:
                                {
                                    if (!hazyRegionModel.IsAllIncidentComplete())
                                    {
                                        //还有未寻访的小事件
                                        return DailyQuestState.Normal;
                                    }
                                    else
                                    {
                                        return DailyQuestState.CanBuyTimes;
                                    }
                                }
                            case 19:
                            case 29:
                                return DailyQuestState.Normal;
                            default:
System/Dungeon/DungeonModel.cs
@@ -1226,8 +1226,6 @@
                            WindowCenter.Instance.Open<RidingPetBossVictoryWin>();
                            break;
                        case 22030:
                        case 32040:
                        case 32050:
                        case HazyDemonKingModel.CLIENTDATAMAP:
                            WindowCenter.Instance.Open<HazyDemonKingVictoryWin>();
                            break;
System/HazyRegion/HazyDemonKingVictoryWin.cs
@@ -184,13 +184,21 @@
        private void ExitDungeon()
        {
            if (PlayerDatas.Instance.baseData.MapID == HazyDemonKingModel.CLIENTDATAMAP)
            //if (PlayerDatas.Instance.baseData.MapID == HazyDemonKingModel.CLIENTDATAMAP)
            //{
            //    ClientDungeonStageUtility.ExitNormalClientDungeon();
            //}
            //else
            //{
            //    ModelCenter.Instance.GetModel<HazyDemonKingModel>().RequestExitDungeon();
            //}
            if (ClientDungeonStageUtility.isClientDungeon)
            {
                ClientDungeonStageUtility.ExitNormalClientDungeon();
            }
            else
            {
                ModelCenter.Instance.GetModel<HazyDemonKingModel>().RequestExitDungeon();
                ModelCenter.Instance.GetModel<DungeonModel>().ExitCurrentDungeon();
            }
        }
System/HazyRegion/HazyRegionBuyTimesWin.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, April 08, 2019
//    [  Date ]:           Wednesday, November 01, 2017
//--------------------------------------------------------
using System;
@@ -11,75 +11,82 @@
namespace Snxxz.UI
{
    //暂时用于缥缈仙域,后续可扩展用于非副本的vip次数购买
    public class HazyRegionBuyTimesWin : Window
    {
        [SerializeField] Text m_BuyTimes;
        [SerializeField] Text m_Money;
        [SerializeField] Button m_Buy;
        [SerializeField] Transform m_ContainerUseItem;
        [SerializeField] Text m_UseItemTitle;
        [SerializeField] Text m_UseItemTimes;
        [SerializeField] ItemBehaviour m_Item;
        [SerializeField] Button m_Use;
        [SerializeField] Button m_Close;
        [SerializeField] Text m_DungeonName;
        [SerializeField] Text m_TodayBuyTimes;
        [SerializeField] Text m_CostRemind;
        [SerializeField] RectTransform m_ContainerVipUp;
        [SerializeField] Text m_VipUpRemind;
        [SerializeField] RectTransform m_ContainerBuylimit;
        [SerializeField] Button m_BuyTimes;
        [SerializeField] Button m_GotoRecharge;
        HazyRegionModel model { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        string costFormula = string.Empty;
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        #region Built-in
        HazyRegionModel hazyModel { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Close.AddListener(CloseClick);
            m_Buy.AddListener(OnBuyTimes);
            m_Use.AddListener(OnUseItem);
            m_Close.onClick.AddListener(CloseClick);
            m_BuyTimes.onClick.AddListener(BuyTimes);
            m_GotoRecharge.onClick.AddListener(GotoRecharge);
        }
        protected override void OnPreOpen()
        {
            PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshInfoEvent;
            dailyQuestModel.dailyQuestProgressUpdateEvent += DailyQuestProgressUpdateEvent;
            packModel.refreshItemCountEvent += RefreshItemCountEvent;
            vipModel.OnVipTimeEvent += OnVipTimeEvent;
            Display();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshInfoEvent;
            vipModel.OnVipTimeEvent -= OnVipTimeEvent;
            dailyQuestModel.dailyQuestProgressUpdateEvent -= DailyQuestProgressUpdateEvent;
            packModel.refreshItemCountEvent -= RefreshItemCountEvent;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnVipTimeEvent()
        {
            Display();
        }
        private void PlayerDataRefreshInfoEvent(PlayerDataType refreshType)
        {
            if (refreshType == PlayerDataType.VIPLv)
            {
                Display();
            }
        }
        private void UpdateDungeonBuyCnt()
        {
            Display();
        }
        void Display()
        {
            DisplayMoney();
            DisplayTimes();
            DisplayItem();
        }
        void DisplayMoney()
        {
            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
            var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
            m_Money.text = Language.Get("HazyRegionBuyTimesCost", dailyQuestOpenTime.BuyNeedMoney);
        }
        void DisplayTimes()
        {
            DailyQuestTimes dailyQuestTimes;
            var dayUseItemTimes = 0;
@@ -94,120 +101,42 @@
            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
            var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
            var times = Mathf.Clamp(dailyQuestOpenTime.DayBuyTimes - dayBuyTimes, 0, dailyQuestOpenTime.DayBuyTimes);
            var label = UIHelper.AppendColor(times == 0 ? TextColType.Red : TextColType.Green, times.ToString(), true);
            m_BuyTimes.text = StringUtility.Contact(label, "/", dailyQuestOpenTime.DayBuyTimes);
            m_DungeonName.text = config.Title;
            int vipBuyTimes = vipModel.GetVipPrivilegeCnt((VipPrivilegeType)dailyQuestOpenTime.BuyTimesPrivilegeID);
            var surplusTimes = vipBuyTimes - dayBuyTimes;
            var canBuyTimes = surplusTimes > 0;
            if (dailyQuestOpenTime.DayItemID != 0)
            var surplusTimeDisplay = UIHelper.AppendColor(surplusTimes > 0 ? TextColType.Green : TextColType.Red, surplusTimes.ToString(), true);
            m_TodayBuyTimes.text = Language.Get("TimesBuyLanguage1", surplusTimeDisplay, vipBuyTimes);
            int nextVipLv = vipModel.GetPrivilegeVipLv((VipPrivilegeType)dailyQuestOpenTime.BuyTimesPrivilegeID, vipBuyTimes);
            bool displayUp = nextVipLv != -1;
            m_ContainerVipUp.gameObject.SetActive(displayUp);
            m_GotoRecharge.gameObject.SetActive(nextVipLv != -1 && !canBuyTimes);
            if (displayUp)
            {
                var itemConfig = ItemConfig.Get(dailyQuestOpenTime.DayItemID);
                m_UseItemTitle.text = Language.Get("HazyRegionUseItemTitle", itemConfig.ItemName);
                times = Mathf.Clamp(dailyQuestOpenTime.DayItemAddTimes - dayUseItemTimes, 0, dailyQuestOpenTime.DayItemAddTimes);
                label = UIHelper.AppendColor(times == 0 ? TextColType.Red : TextColType.Green, times.ToString(), true);
                m_UseItemTimes.text = StringUtility.Contact(label, "/", dailyQuestOpenTime.DayItemAddTimes);
                var _buyTimes = VipPrivilegeConfig.GetVipPrivilegeData((VipPrivilegeType)dailyQuestOpenTime.BuyTimesPrivilegeID, nextVipLv);
                var upTimes = _buyTimes - vipBuyTimes;
                m_VipUpRemind.text = Language.Get("TimesBuyLanguage2", nextVipLv, upTimes);
            }
            m_CostRemind.text = Language.Get("TimesBuyLanguage3", dailyQuestOpenTime.BuyNeedMoney);
            m_BuyTimes.gameObject.SetActive(canBuyTimes);
            m_GotoRecharge.gameObject.SetActive(!canBuyTimes && nextVipLv != -1);
            m_ContainerBuylimit.gameObject.SetActive(!canBuyTimes && nextVipLv == -1);
        }
        void DisplayItem()
        private void BuyTimes()
        {
            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
            var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
            m_ContainerUseItem.gameObject.SetActive(dailyQuestOpenTime.DayItemID != 0);
            if (dailyQuestOpenTime.DayItemID != 0)
            {
                m_Item.SetItem(dailyQuestOpenTime.DayItemID, 1);
            }
        }
        private void DailyQuestProgressUpdateEvent(int id)
        {
            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
            if (config != null && id == config.RelatedID)
            {
                DisplayTimes();
            }
        }
        private void RefreshItemCountEvent(PackType packType, int index, int itemId)
        {
            if (packType == PackType.Item)
            {
                var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
                if (config != null)
                {
                    var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
                    if (dailyQuestOpenTime != null && dailyQuestOpenTime.DayItemID == itemId)
                    {
                        DisplayItem();
                    }
                }
            }
        }
        private void OnUseItem()
        {
            DailyQuestTimes dailyQuestTimes;
            var dayUseItemTimes = 0;
            if (dailyQuestModel.TryGetDailyQuestTimes((int)DailyQuestType.HazyRegion, out dailyQuestTimes))
            {
                dayUseItemTimes = dailyQuestTimes.dayUseItemTimes;
            }
            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
            var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
            if (dayUseItemTimes >= dailyQuestOpenTime.DayItemAddTimes)
            {
                SysNotifyMgr.Instance.ShowTip("OpenHazyAddTimesError_3");
                return;
            }
            if (!model.TryAddTimes())
            if (!hazyModel.TryAddTimes())
            {
                SysNotifyMgr.Instance.ShowTip("OpenHazyAddTimesError_1");
                return;
            }
            var itemCount = packModel.GetItemCountByID(PackType.Item, dailyQuestOpenTime.DayItemID);
            if (itemCount <= 0)
            {
                ItemTipUtility.Show(dailyQuestOpenTime.DayItemID);
                return;
            }
            var pak = new CA525_tagCMBuyDailyActionCnt();
            pak.AddType = 1;
            pak.ActionID = (uint)config.RelatedID;
            GameNetSystem.Instance.SendInfo(pak);
        }
        private void OnBuyTimes()
        {
            DailyQuestTimes dailyQuestTimes;
            var dayBuyTimes = 0;
            if (dailyQuestModel.TryGetDailyQuestTimes((int)DailyQuestType.HazyRegion, out dailyQuestTimes))
            {
                dayBuyTimes = dailyQuestTimes.dayBuyTimes;
            }
            var config = DailyQuestConfig.Get((int)DailyQuestType.HazyRegion);
            var dailyQuestOpenTime = DailyQuestOpenTimeConfig.Get(config.RelatedID);
            if (dayBuyTimes >= dailyQuestOpenTime.DayBuyTimes)
            {
                SysNotifyMgr.Instance.ShowTip("OpenHazyAddTimesError_2");
                return;
            }
            if (!model.TryAddTimes())
            {
                SysNotifyMgr.Instance.ShowTip("OpenHazyAddTimesError_1");
                return;
            }
            if (PlayerDatas.Instance.baseData.diamond < dailyQuestOpenTime.BuyNeedMoney)
            {
@@ -220,10 +149,18 @@
            pak.ActionID = (uint)config.RelatedID;
            GameNetSystem.Instance.SendInfo(pak);
        }
        private void DailyQuestProgressUpdateEvent(int id)
        {
            Display();
        }
        private void GotoRecharge()
        {
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc1);
        }
    }
}
System/HazyRegion/HazyRegionEntrancePanel.cs
@@ -18,6 +18,7 @@
        HazyRegionModel model { get { return ModelCenter.Instance.GetModel<HazyRegionModel>(); } }
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        private void Awake()
        {
@@ -55,6 +56,7 @@
            var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes((int)DailyQuestType.HazyRegion);
            var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.HazyRegion);
            m_Times.text = StringUtility.Contact(totalTimes - completedTimes, "/", dailyQuestOpenTime.DayTimes);
            m_Times.color = UIHelper.GetUIColor(completedTimes >= totalTimes ? TextColType.Red : TextColType.Green);
        }
        void DisplayButtonState()
System/HazyRegion/HazyRegionModel.cs
@@ -111,7 +111,6 @@
            AdventureStage.Instance.onExitAdventureStage += OnExitAdventureStage;
            findPreciousModel.bossInfoUpdateEvent += BossInfoUpdateEvent;
            DailyQuestActionTimer.Instance.RefreshDailyQuestState += RefreshDailyQuestState;
            dailyQuestModel.usableActivePointUpdateEvent += UsableActivePointUpdateEvent;
        }
        public void OnBeforePlayerDataInitialize()
@@ -150,7 +149,6 @@
            AdventureStage.Instance.onLoadAdventureStage -= OnLoadAdventureStage;
            findPreciousModel.bossInfoUpdateEvent -= BossInfoUpdateEvent;
            DailyQuestActionTimer.Instance.RefreshDailyQuestState -= RefreshDailyQuestState;
            dailyQuestModel.usableActivePointUpdateEvent -= UsableActivePointUpdateEvent;
        }
        private void OnLoadAdventureStage()
@@ -213,13 +211,7 @@
            }
        }
        private void UsableActivePointUpdateEvent()
        {
            if (isServerPrepare)
            {
                UpdateRedpoint();
            }
        }
        IEnumerator Co_TryOpenHazyRegionWin()
        {
@@ -728,9 +720,11 @@
        {
            var satisfyEntrance = false;
            var satisfyIncident = false;
            if (FuncOpen.Instance.IsFuncOpen(173) || FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HazyRegion))
            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.HazyRegion))
            {
                satisfyEntrance = dailyQuestModel.usableActivePoint >= openActviePoint;
                var totalTimes = dailyQuestModel.GetDailyQuestTotalTimes((int)DailyQuestType.HazyRegion);
                var completedTimes = dailyQuestModel.GetDailyQuestCompletedTimes((int)DailyQuestType.HazyRegion);
                satisfyEntrance = totalTimes > completedTimes;
                if (playing)
                {
Utility/EnumHelper.cs
@@ -776,7 +776,7 @@
    ReikiRoot = 145,//灵根
    CrossServer = 157, //跨服天梯赛
    CrossServerBoss = 162,
    HazyRegion = 174,//缥缈仙域
    HazyRegion = 173,//缥缈仙域
}
[XLua.LuaCallCSharp]