少年修仙传客户端代码仓库
client_linchunjie
2018-08-20 ed912be1381064888b708b0c49feb835320f3652
2737 【前端】合成引导触发变更
2个文件已修改
44 ■■■■ 已修改文件
System/Compose/New/ComposeWinModel.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/NewBieGuidance/NewBieCenter.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWinModel.cs
@@ -130,6 +130,24 @@
        return modellist;
    }
    public int GetTicketId(int firstType, int secondType, int thirdType)
    {
        var itemId = 0;
        var dict = ItemCompoundConfig.GetFirstComposeTypeDict(firstType);
        Dictionary<int, List<ItemCompoundConfig>> _secondTypeDict = null;
        dict.TryGetValue(secondType, out _secondTypeDict);
        if (_secondTypeDict != null)
        {
            List<ItemCompoundConfig> modellist = null;
            _secondTypeDict.TryGetValue(thirdType, out modellist);
            if (modellist != null && modellist.Count > 0)
            {
                int.TryParse(modellist[0].makeID, out itemId);
            }
        }
        return itemId;
    }
    public int[] makeIDs { get; private set; }
    public int[] unfixedItemIDs { get; private set; }
    public int[] costfixedItemIDs { get; private set; }
@@ -746,28 +764,36 @@
    {
        bool isEnough = true;
        Dictionary<int, Dictionary<int, List<ItemCompoundConfig>>> getFirstModel = ItemCompoundConfig.GetFirstComposeTypeDict((int)ComposeFuncType.Ticket);
        if(getFirstModel.ContainsKey(secondType))
        if (getFirstModel.ContainsKey(secondType))
        {
            if(getFirstModel[secondType].ContainsKey(0))
            if (getFirstModel[secondType].ContainsKey(0))
            {
                ItemCompoundConfig compoundConfig = getFirstModel[secondType][0][0];
                int[] fixedIDs = ConfigParse.GetMultipleStr<int>(compoundConfig.itemID);
                int[] fixedCnt = ConfigParse.GetMultipleStr<int>(compoundConfig.itemCount);
                for(int i= 0; i< fixedIDs.Length; i++)
                for (int i = 0; i < fixedIDs.Length; i++)
                {
                    int haveCnt = playerPack.GetItemCountByID(PackType.rptItem,fixedIDs[i]);
                    if(fixedCnt[i] > haveCnt)
                    int haveCnt = playerPack.GetItemCountByID(PackType.rptItem, fixedIDs[i]);
                    if (fixedCnt[i] > haveCnt)
                    {
                        isEnough = false;
                        break;
                    }
                }
            }
            else
            {
                isEnough = false;
            }
        }
        else
        {
            isEnough = false;
        }
        return isEnough;
    }
     #region 处理跳转界面数据
    #region 处理跳转界面数据
    public bool CheckComposeItemById(int itemId)
    {
System/NewBieGuidance/NewBieCenter.cs
@@ -54,6 +54,7 @@
        PlayerDeadModel playerDeadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } }
        TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        DailyQuestModel dailyModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        PlayerPackModel packModel { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        public event Action guideStepChangeEvent;
        public event Action guideBeginEvent;
@@ -340,7 +341,10 @@
                case GuideTriggerType.RealmSitDown:
                    return false;
                case GuideTriggerType.ItemCompound:
                    return composeModel.IsComposeTicketByType(config.Condition);
                    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;
                case GuideTriggerType.HangUpResult:
                    return true;
                case GuideTriggerType.BranchQuestCando: