少年修仙传客户端代码仓库
client_linchunjie
2018-08-21 175aefc89aae0c11e78e04034089530c872ef9e0
2737 【前端】合成引导触发变更
3个文件已修改
62 ■■■■■ 已修改文件
System/Dungeon/DungeonModel.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonSuppliesLackWin.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/NewBieGuidance/NewBieCenter.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs
@@ -1235,6 +1235,27 @@
            return _maxCnt;
        }
        public Item GetLackItem(DungeonSuppliesLackWin.LackType lackType)
        {
            switch (lackType)
            {
                case DungeonSuppliesLackWin.LackType.PersonalBoss:
                    return GetDungeonTicketCost(PersonalBossModel.PERSONALBOSS_MAPID);
                case DungeonSuppliesLackWin.LackType.ElderGodArea:
                    return GetDungeonTicketCost(ElderGodAreaModel.ELDERGODAREA_MAPID);
                case DungeonSuppliesLackWin.LackType.Kylin:
                    return GetSweepCost(selectedKylinDungeon);
                case DungeonSuppliesLackWin.LackType.IceCrystal:
                    return GetSweepCost(new Dungeon(31140, 0));
                case DungeonSuppliesLackWin.LackType.FairyLand:
                    return GetDungeonTicketCost(31080);
                case DungeonSuppliesLackWin.LackType.SingleIceCrystal:
                    return GetDungeonTicketCost(31140);
                default:
                    return default(Item);
            }
        }
        public bool IsElderGodExpel()
        {
            var dataMapId = GetDungeonDataIdByMapId(PlayerDatas.Instance.baseData.MapID);
System/Dungeon/DungeonSuppliesLackWin.cs
@@ -165,23 +165,7 @@
        private Item GetLackItem(LackType _lackType)
        {
            switch (_lackType)
            {
                case LackType.PersonalBoss:
                    return dungeonModel.GetDungeonTicketCost(PersonalBossModel.PERSONALBOSS_MAPID);
                case LackType.ElderGodArea:
                    return dungeonModel.GetDungeonTicketCost(ElderGodAreaModel.ELDERGODAREA_MAPID);
                case LackType.Kylin:
                    return dungeonModel.GetSweepCost(dungeonModel.selectedKylinDungeon);
                case LackType.IceCrystal:
                    return dungeonModel.GetSweepCost(new Dungeon(31140, 0));
                case LackType.FairyLand:
                    return dungeonModel.GetDungeonTicketCost(31080);
                case LackType.SingleIceCrystal:
                    return dungeonModel.GetDungeonTicketCost(31140);
                default:
                    return default(Item);
            }
            return dungeonModel.GetLackItem(_lackType);
        }
        private int GetUnitPrice(LackType _lackType)
System/NewBieGuidance/NewBieCenter.cs
@@ -55,6 +55,7 @@
        TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public event Action guideStepChangeEvent;
        public event Action guideBeginEvent;
@@ -341,14 +342,7 @@
                case GuideTriggerType.RealmSitDown:
                    return false;
                case GuideTriggerType.ItemCompound:
                    if (DungeonSuppliesLackWin.lackType != DungeonSuppliesLackWin.LackType.FairyLand)
                    {
                        return false;
                    }
                    var itemId = composeModel.GetTicketId((int)ComposeFuncType.Ticket, config.Condition, 0);
                    var singlepack = packModel.GetSinglePackModel(PackType.rptItem);
                    var count = singlepack != null ? singlepack.GetItemCountByID(itemId) : 0;
                    return composeModel.IsComposeTicketByType(config.Condition) && itemId != 0 && count == 0;
                    return IsComposeEnough(config.Condition);
                case GuideTriggerType.HangUpResult:
                    return true;
                case GuideTriggerType.BranchQuestCando:
@@ -440,6 +434,19 @@
            }
        }
        private bool IsComposeEnough(int _secondType)
        {
            var itemId = composeModel.GetTicketId((int)ComposeFuncType.Ticket, _secondType, 0);
            var lackItem = dungeonModel.GetLackItem(DungeonSuppliesLackWin.lackType);
            if (lackItem.id != itemId || itemId == 0)
            {
                return false;
            }
            var singlepack = packModel.GetSinglePackModel(PackType.rptItem);
            var count = singlepack != null ? singlepack.GetItemCountByID(itemId) : 0;
            return composeModel.IsComposeTicketByType(_secondType) && count == 0;
        }
        private void OnPlayerDead()
        {
            if (currentGuide != 0)