少年修仙传客户端代码仓库
Client_PangDeRong
2018-08-20 99b8d2b7d13bf4ecdc55dad1d781af2fd51a46e5
[2672]增加丹药回收引导
2个文件已修改
66 ■■■■■ 已修改文件
System/BlastFurnace/BlastFurnaceModel.cs 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/LingDanTips.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceModel.cs
@@ -83,15 +83,18 @@
        treasureRefineDict.Clear();
        FuncOpen.Instance.OnFuncStateChangeEvent -= RefreshFuncOpenState;
        playerPack.RefreshItemCountAct -= RefreshMat;
        playerPack.ItemCntReduceAct -= RefreshDanReduce;
        playerPack.RefreshItemSumUseCntAct -= RefreshItemUsce;
        WindowCenter.Instance.windowAfterCloseEvent -= StoveUpgradAfterClose;
    }
    public void OnAfterPlayerDataInitialize()
    {
        playerPack.RefreshItemCountAct += RefreshMat;
        FuncOpen.Instance.OnFuncStateChangeEvent += RefreshFuncOpenState;
        playerPack.RefreshItemSumUseCntAct += RefreshItemUsce;
        WindowCenter.Instance.windowAfterCloseEvent += StoveUpgradAfterClose;
        playerPack.ItemCntReduceAct += RefreshDanReduce;
    }
    private void RefreshFuncOpenState(int funcId)
@@ -141,13 +144,14 @@
    /// 得到服务端的炼丹炉数据
    /// </summary>
    private int _stovelv = 1;
    private int preStoveLv = 1;
    public int StoveLV { get { return _stovelv; } }    // 炼丹炉等级
    private int _stoveExp = 0;
    public int StoveExp { get { return _stoveExp; } }    // 炼丹炉经验 
    public int addExp = 0;
    public event Action RefreshStoveModelEvent;
    public int makerItemID { get; private set; }
    public bool StoveIsUpGrade { get; private set; }
    public void RefreshBlastFurnaceModel(HA3BF_tagMCPlayerStoveMsg data)
    {
        DebugEx.Log("RefreshBlastFurnaceModel");
@@ -163,6 +167,17 @@
        if(!isFirstGet)
        {
            isMakeDan = true;
            if(preStoveLv < data.StoveLV)
            {
                preStoveLv = data.StoveLV;
                StoveIsUpGrade = true;
            }
            else
            {
                preStoveLv = data.StoveLV;
                StoveIsUpGrade = false;
            }
            PlayRecycleGuid();
        }
        else
        {
@@ -175,23 +190,6 @@
        if(makerItemID == 0 && addExp > 0)
        {
            SysNotifyMgr.Instance.ShowTip("RecyclingElixir", addExp);
        }
    }
    /// <summary>
    /// 判断炼丹炉是否升级
    /// </summary>
    private int preStoveLv = 1;
    public bool IsUpgrade(int stoveLv)
    {
        if (preStoveLv >= stoveLv)
        {
            return false;
        }
        else
        {
            preStoveLv = stoveLv;
            return true;
        }
    }
@@ -716,6 +714,8 @@
        {
            CheckMakerDandrugCondition();
            CheckRecycleStoreRed();
            StoveIsUpGrade = false;
            PlayRecycleGuid();
        }
    }
@@ -868,6 +868,32 @@
        }
        return false;
    }
    private void StoveUpgradAfterClose(Window win)
    {
        if (win.name != "StoveUpgradWin") return;
        StoveIsUpGrade = false;
        PlayRecycleGuid();
    }
    private void RefreshDanReduce(PackType type, int index, int id)
    {
        if (type != PackType.rptItem || !playerPack.CheckIsDrugById(id)) return;
        StoveIsUpGrade = false;
        PlayRecycleGuid();
    }
    public void PlayRecycleGuid()
    {
        if (IsRecycleDanDrug()
            && !NewBieCenter.Instance.completeGuidesBuf.Contains(93)
            && !StoveIsUpGrade)
        {
            NewBieCenter.Instance.StartNewBieGuide(93);
        }
    }
    #endregion
    #region 回收丹药逻辑处理
System/BlastFurnace/LingDanTips.cs
@@ -209,7 +209,7 @@
                _expValueText.text = Language.Get("L1055");
            }
            RefreshVirtualFill(_addExp);
            if (FurnaceModel.IsUpgrade(FurnaceModel.StoveLV))
            if (FurnaceModel.StoveIsUpGrade)
            {
                ActivateShow.StoveUpgrade(FurnaceModel.StoveLV);
                CreateCell();