少年修仙传客户端代码仓库
Client_PangDeRong
2018-12-18 5c71fe78a0203b9784144940203c7b95348920c9
5005 【前端】【1.4】寻宝结算界面

5117 【前端】【1.4】寻宝新增寻到极品道具或极品符印的时候播放一个音效
5172 【前端】【1.4】仙盟商店原有的红点显示逻辑,增加一个条件:炼丹功能开启后才显示(炼丹没开,即使达到条件也不显示)
4个文件已修改
215 ■■■■ 已修改文件
System/HappyXB/HappyXBGetItemWin.cs 162 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/HappyXBModel.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/XBItemCell.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HappyXB/HappyXBGetItemWin.cs
@@ -23,6 +23,18 @@
        [SerializeField] Text xbScoreText;
        [SerializeField] Text freeXBTimeText;
        [SerializeField] float scaleTime = 0.2f;
        [Header("有寻宝道具")]
        [SerializeField] GameObject container_XBTool;
        [SerializeField] Text haveToolText;
        [SerializeField] Button makeUseToolBtn;
        [SerializeField] GameObject selectUseToolImg;
        [Header("消耗金钱或道具")]
        [SerializeField] GameObject costMoneyObj;
        [SerializeField] GameObject costToolObj;
        [SerializeField] GameObject costManyMoneyObj;
        [SerializeField] GameObject costManyToolObj;
        [SerializeField] Text costToolNumText;
        [SerializeField] Text costToolManyText;
        HappyXBModel XBModel { get { return ModelCenter.Instance.GetModel<HappyXBModel>(); } }
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
@@ -36,11 +48,13 @@
        }
        bool isHaveFreeTime = false;
        int xbOneMoney = 0;
        int xbManyMoney = 0;
        List<GameObject> GetItemlist = new List<GameObject>();
        List<XBGetItemCell> getItemBasiclist = new List<XBGetItemCell>();
        List<XBGetItem> xbItemlist;
        int oneMoney = 0;
        int manyMoney = 0;
        bool isHaveXBTool = false;
        bool isCostToolMany = false;
        protected override void BindController()
        {
@@ -51,6 +65,7 @@
            backBtn.AddListener(ClickBackBtn);
            xbBtn.AddListener(ClickXBBtn);
            xbManyBtn.AddListener(ClickXBManyBtn);
            makeUseToolBtn.AddListener(ClickMakeUseTool);
        }
        protected override void OnPreOpen()
@@ -92,7 +107,8 @@
        protected override void OnAfterOpen()
        {
            CheckHaveXBTool();
            UpdateCostType();
        }
        protected override void OnPreClose()
@@ -121,30 +137,69 @@
        private void InitUI()
        {
            CreateGetItem();
            XBFuncSet funcSet = XBModel.GetXBFuncSet((int)XBModel.title);
            if (funcSet != null)
            {
                xbBtnText.text = Language.Get("HappyXB103", funcSet.xbNums[0]);
                xbManyBtnText.text = Language.Get("HappyXB103", funcSet.xbNums[1]);
                xbMoneyText.text = funcSet.xbPrices[0].ToString();
                xbManyMoneyText.text = funcSet.xbPrices[1].ToString();
                xbOneMoney = funcSet.xbPrices[0];
                xbManyMoney = funcSet.xbPrices[1];
            }
            else
            {
                xbOneMoney = 0;
                xbManyMoney = 0;
            }
            xbScoreText.text = XBModel.addXBScore.ToString();
            for(int i = 0; i < xbItemlist.Count; i++)
            {
                int count = playerPack.GetItemCountByID(PackType.rptTreasure,xbItemlist[i].itemId);
                if(count > 0)
                {
                    XBModel.RefreshXBWarehouse();
                }
            }
        }
        private void ClickMakeUseTool()
        {
            bool isToolXB = !selectUseToolImg.activeInHierarchy;
            selectUseToolImg.SetActive(isToolXB);
            XBModel.SetUseToolXB(isToolXB);
            UpdateCostType();
        }
        private void CheckHaveXBTool()
        {
            int xbToolCnt = 0;
            int needToolCnt = 0;
            isHaveXBTool = XBModel.IsHaveManyXBTool((int)XBModel.title, out xbToolCnt, out needToolCnt);
            isCostToolMany = xbToolCnt >= needToolCnt;
            container_XBTool.SetActive(isHaveXBTool);
            selectUseToolImg.SetActive(XBModel.IsUseToolXB());
            haveToolText.text = StringUtility.Contact("x",xbToolCnt);
        }
        private void UpdateCostType()
        {
            bool isToolXB = selectUseToolImg.activeInHierarchy;
            costMoneyObj.SetActive(!isHaveXBTool || !isToolXB);
            costToolObj.SetActive(isHaveXBTool && isToolXB);
            costManyMoneyObj.SetActive(!isCostToolMany || !isToolXB);
            costManyToolObj.SetActive(isCostToolMany && isToolXB);
            XBFuncSet funcSet = XBModel.GetXBFuncSet((int)XBModel.title);
            if (funcSet != null)
            {
                oneMoney = funcSet.xbPrices[0];
                manyMoney = funcSet.xbPrices[1];
                if (isHaveXBTool && isToolXB)
                {
                    xbBtnText.text = Language.Get("HappyXB103", funcSet.xbNums[0]);
                    costToolNumText.text = StringUtility.Contact("消耗", funcSet.costToolNums[0], "个");
                }
                else
                {
                    xbBtnText.text = Language.Get("HappyXB103", funcSet.xbNums[0]);
                    xbMoneyText.text = oneMoney.ToString();
                }
                if(isCostToolMany && isToolXB)
                {
                    xbManyBtnText.text = Language.Get("HappyXB103", funcSet.xbNums[1]);
                    costToolManyText.text = StringUtility.Contact("消耗", funcSet.costToolNums[1], "个"); ;
                }
                else
                {
                    xbManyBtnText.text = Language.Get("HappyXB103", funcSet.xbNums[1]);
                    xbManyMoneyText.text = manyMoney.ToString();
                }
            }
        }
@@ -227,29 +282,62 @@
        private void ClickXBBtn()
        {
            switch (XBModel.title)
            {
                case HappXBTitle.Best:
                     XBModel.SendOneXBQuest(PackType.rptTreasure, 1);
                    break;
                case HappXBTitle.Rune:
                    XBModel.SendOneXBQuest(PackType.rptTreasure, 2);
                    break;
            }
            SendXBQuest(0);
        }
        private void ClickXBManyBtn()
        {
            switch (XBModel.title)
            SendXBQuest(1);
        }
        public int GetCostType(int xbNum)
        {
            if(xbNum == 0)
            {
                case HappXBTitle.Best:
                    XBModel.SendXBManyQuest(PackType.rptTreasure, 1);
                    break;
                case HappXBTitle.Rune:
                    XBModel.SendXBManyQuest(PackType.rptTreasure, 2);
                    break;
                bool isFreeXB = isHaveFreeTime && XBModel.IsHaveFreeXB((int)XBModel.title);
                if (isFreeXB) return 1;
                if (costMoneyObj.activeInHierarchy) return 0;
            }
            else
            {
                if (costManyMoneyObj.activeInHierarchy) return 0;
            }
            return 2;
        }
        public void SendXBQuest(int xbNum)
        {
            if (!XBModel.CheckIsEmptyGrid(PackType.rptTreasure)) return;
            int costType = GetCostType(xbNum);
            bool isMoneyEnough = true;
            if (xbNum == 0)
            {
                isMoneyEnough = UIHelper.GetMoneyCnt(1) >= (ulong)oneMoney;
            }
            else
            {
                isMoneyEnough = UIHelper.GetMoneyCnt(1) >= (ulong)manyMoney;
            }
            if (isMoneyEnough)
            {
                switch (XBModel.title)
                {
                    case HappXBTitle.Best:
                        XBModel.SendXBQuest(1, xbNum, costType);
                        break;
                    case HappXBTitle.Rune:
                        XBModel.SendXBQuest(2, xbNum, costType);
                        break;
                }
            }
            else
            {
                WindowCenter.Instance.Open<RechargeTipWin>();
            }
        }
        private void OnStartXB(int oneOrMany)
System/HappyXB/HappyXBModel.cs
@@ -25,6 +25,7 @@
            get { return _storeModel ?? (_storeModel = ModelCenter.Instance.GetModel<StoreModel>()); }
        }
        public string USETOOLXBKey = string.Empty;
        public static string HAPPYXBITEMKEY;
        public List<ArrayList> XBNotifyParms = new List<ArrayList>();
        public bool isXBCoolTime { get; set; }
@@ -83,7 +84,9 @@
        }
        public void OnPlayerLoginOk()
        {
            HAPPYXBITEMKEY = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "HappyXBItemTime");
            int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
            HAPPYXBITEMKEY = StringUtility.Contact(playerId, "HappyXBItemTime");
            USETOOLXBKey = StringUtility.Contact(playerId,"UseToolXB");
            XBWarehouseRedPoint();
            m_storeModel.RefreshTCBPlayerDataEvent += RefreshStoreScore;
            playerPack.RefreshItemCountAct += RefreshXBTool;
@@ -211,6 +214,24 @@
            return funcSet;
        }
        public bool IsUseToolXB()
        {
            if(!PlayerPrefs.HasKey(USETOOLXBKey))
            {
                LocalSave.SetBool(USETOOLXBKey,true);
                return true;
            }
            else
            {
                return LocalSave.GetBool(USETOOLXBKey);
            }
        }
        public void SetUseToolXB(bool isToolXB)
        {
            LocalSave.SetBool(USETOOLXBKey,isToolXB);
        }
        private void SetXBGetItemModel()
        {
            jobXBItemDict.Clear();
System/HappyXB/XBItemCell.cs
@@ -54,6 +54,7 @@
            XBGetItemConfig xbItemConfig = XBModel.GetXBItemConfigByType(xbType);
            if (xbItemConfig == null || xbItemConfig.LuckyGridNum != xbIndex) return;
            SoundPlayer.Instance.PlayUIAudio(67);
            StartCoroutine(BestItemFlashing(xbType));
        }
System/Store/StoreModel.cs
@@ -990,17 +990,25 @@
    private void FuncStateChange(int funcId)
    {
        if (funcId != (int)FuncOpenEnum.Store) return;
        if (StoreFuncOpenAct != null)
        switch((FuncOpenEnum)funcId)
        {
            StoreFuncOpenAct();
            case FuncOpenEnum.Store:
                if (StoreFuncOpenAct != null)
                {
                    StoreFuncOpenAct();
                }
                UpdateFreeShopRedpoint();
                UpdateCanBuyRedpoint();
                UpdateMustBuyRedpoint();
                UpdatePetAndMountPutAwayRedpoint();
                UpdateFairyEquipRedpoint();
                break;
            case FuncOpenEnum.BlastFurnace:
                ControllerRedPoint();
                break;
        }
        UpdateFreeShopRedpoint();
        UpdateCanBuyRedpoint();
        UpdateMustBuyRedpoint();
        UpdatePetAndMountPutAwayRedpoint();
        UpdateFairyEquipRedpoint();
    }
    public bool IsNewDay(string recordKey)
@@ -1109,7 +1117,8 @@
    public void ControllerRedPoint(bool isLook = false)
    {
        MainRedDot.Instance.fairyStoreRedPoint.state = RedPointState.None;
        if (!ModelCenter.Instance.GetModel<FairyModel>().fairyStoreOpen)
        if (!ModelCenter.Instance.GetModel<FairyModel>().fairyStoreOpen
            || !FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BlastFurnace))
        {
            return;
        }