266 【内政】古宝系统 - 区分抽到物品 和古宝的对话和表情;鉴宝套装红点
4个文件已修改
86 ■■■■ 已修改文件
Main/System/Gubao/GubaoCallWin.cs 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoManager.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoSuiteListWin.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HappyXB/HappyXBModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Gubao/GubaoCallWin.cs
@@ -89,6 +89,8 @@
        // GubaoManager.Instance.clickCallEvent -= clickCallEvent;
    }
    //优先古宝表现
    void ShowVenderTalk(int quality)
    {
        if (quality == 0)
@@ -99,8 +101,18 @@
        }
        else
        {
            talkText.text = Language.Get("GubaoResultTalk" + quality);
            roleModel.Play(GubaoManager.Instance.emojiDict[quality]);
            if (quality >= 10)
            {
                //物品品质
                quality = quality / 10;
                talkText.text = Language.Get( "GubaoResultTalkItem" + quality);
                roleModel.Play(GubaoManager.Instance.emojiItemDict[quality]);
            }
            else
            {
                talkText.text = Language.Get( "GubaoResultTalkGB" + quality);
                roleModel.Play(GubaoManager.Instance.emojiGBDict[quality]);
            }
        }
    }
@@ -160,22 +172,39 @@
        }
    }
    //区分物品品质*10 和 古宝品质
    //如果有古宝就不要物品品质
    int GetResultQuality()
    {
        if (HappyXBModel.Instance.xbResultDict.IsNullOrEmpty())
        {
            return 0;
        }
        int quality = 0;
        int gbQuality = 0;
        int itemQuility = 0;
        foreach (var item in HappyXBModel.Instance.xbResultDict.Values)
        {
            bool isGB = GubaoConfig.HasKey(item.itemId);
            int tmp = ItemConfig.Get(item.itemId).ItemColor;
            if (tmp > quality)
            if (isGB)
            {
                quality = tmp;
                if (tmp > gbQuality)
                {
                    gbQuality = tmp;
                }
            }
            else
            {
                if (tmp > itemQuility)
                {
                    itemQuility = tmp;
                }
            }
        }
        return quality;
        return gbQuality != 0 ? gbQuality : itemQuility * 10;
    }
    void RefreshFreeTime()
Main/System/Gubao/GubaoManager.cs
@@ -36,7 +36,8 @@
    public const string skipKey = "SkipGBCall";
    public Dictionary<int, int> emojiDict = new Dictionary<int, int>(); //品质:emojiID顺序
    public Dictionary<int, int> emojiGBDict = new Dictionary<int, int>(); //古宝品质:emojiID顺序
    public Dictionary<int, int> emojiItemDict = new Dictionary<int, int>(); //古宝品质:emojiID顺序
    public int maxIdleTalk = 0;
    public override void Init()
@@ -61,8 +62,9 @@
    void ParseConfig()
    {
        var config = FuncConfigConfig.Get("Gubao1");
        emojiDict = ConfigParse.ParseIntDict(config.Numerical1);
        emojiGBDict = ConfigParse.ParseIntDict(config.Numerical1);
        maxIdleTalk = int.Parse(config.Numerical2);
        emojiItemDict = ConfigParse.ParseIntDict(config.Numerical3);
    }
@@ -71,6 +73,8 @@
        gubaoDict.Clear();
        waitActiveGubao = 0;
        gubaoCollectDict.Clear();
        suiteStarDict.Clear();
        jumpSuiteID = 0;
    }
    void OnPlayerLoginOK()
@@ -124,9 +128,8 @@
            UIManager.Instance.OpenWindow<GubaoActiveWin>(waitActiveGubao);
            waitActiveGubao = 0;
        }
        UpdateRedpoint();
        RefreshAllAttr();
        GubaoCallRedPoint();
        UpdateRedpoint();
    }
@@ -624,6 +627,9 @@
        return cnt;
    }
    public int jumpSuiteID = 0; //套装红点跳转
    Dictionary<int, int> suiteStarDict = new Dictionary<int, int>();    //套装星级 只是用于判断红点前后对比
    void RefreshAllAttr()
    {
        gubaoAllAttrDict.Clear();
@@ -649,6 +655,28 @@
            {
                continue;
            }
            //套装是否有新激活 和刷属性无关,顺便写这
            if (suiteStarDict.ContainsKey(suitID))
            {
                if (suiteStarDict[suitID] != curSuiteStar)
                {
                    suiteStarDict[suitID] = curSuiteStar;
                    if (jumpSuiteID == 0)
                    {
                        jumpSuiteID = suitID;
                    }
                }
            }
            else
            {
                suiteStarDict[suitID] = curSuiteStar;
                if (jumpSuiteID == 0)
                {
                    jumpSuiteID = suitID;
                }
            }
            var attrCfg = GubaoResonanceAttrConfig.GetConfig(suitID, curSuiteStar);
            if (attrCfg == null)
            {
@@ -717,6 +745,7 @@
        activeRP.state = RedPointState.None;
        gubaoLVRP.state = RedPointState.None;
        gubaoStarRP.state = RedPointState.None;
        gubaoSuiteRP.state = RedPointState.None;
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.GuaBao))
            return;
@@ -740,6 +769,10 @@
            }
        }
        if (jumpSuiteID != 0)
        {
            gubaoSuiteRP.state = RedPointState.Simple;
        }
    }
Main/System/Gubao/GubaoSuiteListWin.cs
@@ -45,6 +45,9 @@
        }
        scroller.Restart();
        scroller.JumpIndex(GubaoManager.Instance.jumpSuiteID - 1);
        GubaoManager.Instance.jumpSuiteID = 0;
        GubaoManager.Instance.UpdateRedpoint();
    }
    void OnRefreshCell(ScrollerDataType type, CellView cell)
Main/System/HappyXB/HappyXBModel.cs
@@ -292,6 +292,7 @@
        }
        HeroCallRedPoint();
        GubaoManager.Instance.GubaoCallRedPoint();
    }
    public XBTypeInfo GetXBInfoByType(int type)