Beispiel #1
0
        private void DoLoadListData(cmd_Crown_Gemstone_Product_Info data)
        {
            if (m_GenstoneChestFlopList == null)
            {
                return;
            }

            if (data.cobblestonGemstoneIDList.Length != data.windowGemstoneIDList.Length)
            {
                return;
            }

            int nGradeMax = 0;

            for (int i = 0; i < data.cobblestonGemstoneIDList.Length; ++i)
            {
                bool bWin           = false;
                int  nCobGemstoneID = data.cobblestonGemstoneIDList[i];
                if (nCobGemstoneID <= 0)
                {
                    continue;
                }

                SSchemeCrownGemstoneConfig config = CrownPageConfigPage.Instance.GetCrownPageGemstoneConfig(nCobGemstoneID);
                if (config == null)
                {
                    continue;
                }

                nGradeMax = config.nGradeUpper > nGradeMax ? config.nGradeUpper : nGradeMax;
                for (int j = 0; j < data.windowGemstoneIDList.Length; ++j)
                {
                    if (data.windowGemstoneIDList[i] == nCobGemstoneID)
                    {
                        bWin = true;
                        break;
                    }
                }

                m_GenstoneChestFlopList[i].UpdateItem(nCobGemstoneID, bWin, data.bOpenWinEnd > 0, data.cobStoneIDList[i], config);
            }

            OperationStateText.text = data.bOpenWinEnd > 0 ? "点击抽取其中一颗宝石" : "请选择开窗宝石";

            if (nGradeMax >= 0 && nGradeMax < UDefines.sGemstoneGradeDesc.Length)
            {
                BestGemstoneTipText.text = "最高品级 : " + UDefines.sGemstoneGradeDesc[nGradeMax];
            }

            int nOpenChestID = LogicDataCenter.prizeChestDataManager.OpenChestID;
            SSchemePrizeChestConfig chestConfig = ActorPrizeConfig.Instance.GetPrizeChestConfig(nOpenChestID);

            if (chestConfig != null)
            {
                ChestDescText.text = chestConfig.strChestName;
            }
        }
Beispiel #2
0
        public Sprite GetCrownGemStoneSpriteByID(int nGemstoneID, int nSizeType = 1)
        {
            SSchemeCrownGemstoneConfig config = CrownPageConfigPage.Instance.GetCrownPageGemstoneConfig(nGemstoneID);

            if (config == null)
            {
                return(null);
            }

            return(GetCrownGemStoneSpriteByIconID(config.nGemstoneIconID));
        }
Beispiel #3
0
        public bool IsAppraisalSlotCanUse(int nSlotID, int nGemstoneDBID, bool bAppriasalDrag)
        {
            if (nSlotID < 0 || nSlotID >= m_appraisalData.gemStoneAppraisalSlotList.Length)
            {
                return(false);
            }

            if (m_appraisalData.gemStoneAppraisalSlotList[nSlotID] == nGemstoneDBID)
            {
                return(false);
            }

            if (m_gemStoneDic.ContainsKey(nGemstoneDBID))
            {
                if (nSlotID == 0)
                {
                    if (m_gemStoneDic[nGemstoneDBID].byGrade != (byte)EGEMSTONE_GRADE_TYPE.EGGT_OBSOLETEGRADE)
                    {
                        UIUtil.ShowSystemMessage(EMChatTipID.CHAT_TIP_CROWNS_GEMSTONE_APPRAISAL_MAIN_GRADE);
                        return(false);
                    }
                }
                else
                {
                    int nMainGemstoneDBID = m_appraisalData.gemStoneAppraisalSlotList[0];
                    if (m_gemStoneDic.ContainsKey(nMainGemstoneDBID) && m_gemStoneDic[nMainGemstoneDBID].byGrade != (byte)EGEMSTONE_GRADE_TYPE.EGGT_OBSOLETEGRADE)
                    {
                        UIUtil.ShowSystemMessage(EMChatTipID.CHAT_TIP_CROWNS_GEMSTONE_APPRAISAL_MAIN_GRADE);
                        return(false);
                    }

                    int curGemstoneDBID = m_appraisalData.gemStoneAppraisalSlotList[nSlotID];
                    if (bAppriasalDrag && !m_gemStoneDic.ContainsKey(curGemstoneDBID))
                    {
                        UIUtil.ShowSystemMessage(EMChatTipID.CHAT_TIP_CROWNS_GEMSTONE_APPRAISAL_NOT_MAIN);
                        return(false);
                    }

                    nMainGemstoneDBID = (bAppriasalDrag ? curGemstoneDBID : m_appraisalData.gemStoneAppraisalSlotList[0]);
                    if (nMainGemstoneDBID == 0)
                    {
                        UIUtil.ShowSystemMessage(EMChatTipID.CHAT_TIP_CROWNS_GEMSTONE_APPRAISAL_NOT_MAIN);
                        return(false);
                    }

                    SSchemeCrownGemstoneConfig mainStoneCfg = CrownPageConfigPage.Instance.GetCrownPageGemstoneConfig(m_gemStoneDic[nMainGemstoneDBID].nGemstoneID);
                    if (mainStoneCfg == null)
                    {
                        return(false);
                    }

                    SSchemeCrownGemstoneConfig curStoneCfg = CrownPageConfigPage.Instance.GetCrownPageGemstoneConfig(m_gemStoneDic[nGemstoneDBID].nGemstoneID);
                    if (curStoneCfg == null)
                    {
                        return(false);
                    }

                    if (curStoneCfg.nGradeUpper > mainStoneCfg.nGradeUpper)
                    {
                        UIUtil.ShowSystemMessage(EMChatTipID.CHAT_TIP_CROWNS_GEMSTONE_APPRAISAL_ASS_GRADE);
                        return(false);
                    }
                }
            }

            return(true);
        }
Beispiel #4
0
        public void SetGemstoneToolTip()
        {
            if (m_tooltip)
            {
                this.gameObject.RemoveComponent <UTooltipTrigger>();
                m_tooltip = null;
            }
            if (m_tooltip == null)
            {
                m_tooltip = this.gameObject.AddComponent <UTooltipTrigger>(ETooltipStyle.ETS_GemstoneItem);
            }

            if (m_tooltip == null)
            {
                return;
            }

            m_tooltip.backgroundTint = Color.grey;

            SSchemeCrownGemstoneConfig config = CrownPageConfigPage.Instance.GetCrownPageGemstoneConfig(m_nGemstoneID);

            if (config == null)
            {
                return;
            }

            int m_nGemstoneGrade = 1;

            if (m_nGemstoneGrade < 0 || m_nGemstoneGrade >= UDefines.sGemstoneGradeDesc.Length)
            {
                return;
            }

            m_tooltip.SetText("GemstoneName", config.sGemstoneName);
            m_tooltip.SetText("GemstoneGrade", UDefines.sGemstoneGradeDesc[m_nGemstoneGrade]);

            Sprite gemstoneSprite = LogicDataCenter.crownPageDataManager.GetCrownGemStoneSpriteByIconID(config.nGemstoneIconID);

            m_tooltip.SetImage("GemstoneIcon", gemstoneSprite);

            string sGemstonePropertyHeadText = "";
            string sGemstonePropertyDescText = "";

            if (m_nGemstoneGrade > 0 && m_nGemstoneGrade < config.szPropertyDescArray.Length)
            {
                string[] sCrownPropertyIDArray = ((string)(config.szPropertyArray[m_nGemstoneGrade])).Split(';');
                int      nPropertyID           = 0;
                string   sPropertyDesc         = "";
                int      nTotalPower           = 0;
                foreach (string sPropertyID in sCrownPropertyIDArray)
                {
                    int.TryParse(sPropertyID, out nPropertyID);
                    SSchemeCrownEffectConfig effectConfig = CrownPageConfigPage.Instance.GetCrownPageEffectConfig(nPropertyID);
                    if (effectConfig == null)
                    {
                        continue;
                    }

                    sPropertyDesc += effectConfig.sGemstoneDesc + "\n";
                    nTotalPower   += effectConfig.nPropertyValue;
                }

                sGemstonePropertyHeadText = "威力 :" + nTotalPower;
                sGemstonePropertyDescText = sPropertyDesc;
            }

            m_tooltip.SetText("GemstonePropertyDesc", sGemstonePropertyDescText);
            m_tooltip.SetText("GemstonePropertyHead", sGemstonePropertyHeadText);

            if (m_nGemstoneGrade == (int)EGEMSTONE_GRADE_TYPE.EGGT_OBSOLETEGRADE)
            {
                //GemstoneExpImage.fillAmount = 1;
                m_tooltip.SetText("GemstoneExp", config.nExpUpper + "/" + config.nExpUpper);
            }
            else
            {
                string[] expArray = config.szExpArray.Split(';');
                int      nNextExp = 0;
                int      nGrade   = m_nGemstoneGrade;
                if (nGrade - 1 >= 0 && nGrade - 1 < expArray.Length)
                {
                    int.TryParse(expArray[nGrade - 1], out nNextExp);
                    nNextExp = nNextExp <= 0 ? 1 : nNextExp;
                    // GemstoneExpImage.fillAmount = ((float)data.nExp / nNextExp);
                }

                m_tooltip.SetText("GemstoneExp", 0 + "/" + nNextExp);
            }

            int nExteriorID = 0;

            if (m_nGemstoneGrade >= 0 && m_nGemstoneGrade < config.nExteriorIDArray.Length)
            {
                nExteriorID = config.nExteriorIDArray[m_nGemstoneGrade];
            }

            string sGemstoneExteriorHeadText = "";
            string sGemstoneExteriorDescText = "";
            SSchemeCrownGemstoneExteriorConfig exteriorConfig = CrownPageConfigPage.Instance.GetCrownPageExteriorConfig(nExteriorID);

            if (exteriorConfig != null)
            {
                string sSymbols = "\n";
                sGemstoneExteriorHeadText = "颜值 :" + exteriorConfig.nFacescore;
                string sExteriorDesc = "色泽 :" + exteriorConfig.nColours + sSymbols
                                       + "透光 :" + exteriorConfig.nLight + sSymbols + "重量 :" + exteriorConfig.nWeight;
                sGemstoneExteriorDescText = sExteriorDesc;
            }

            m_tooltip.SetText("GemstoneExteriorDesc", sGemstoneExteriorDescText);
            m_tooltip.SetText("GemstoneExteriorHead", sGemstoneExteriorHeadText);
        }
Beispiel #5
0
        public void UpdateItem(int nCobGemstoneID, bool bWin, bool bWinEnd, int cobStoneID, SSchemeCrownGemstoneConfig config)
        {
            SSchemeCrownCobstoneExteriorConfig cobConfig = CrownPageConfigPage.Instance.GetCrownPageCobConfig(cobStoneID);

            if (cobConfig == null)
            {
                return;
            }

            this.FlopToggle.interactable = true;
            EndFrameObj.SetActive(false);
            m_nGemstoneID               = nCobGemstoneID;
            m_nCobstoneID               = cobStoneID;
            CobGemstoneImage.sprite     = LogicDataCenter.crownPageDataManager.GetCrownGemStoneSpriteByIconID(cobConfig.nCobIconID, 2);
            WinGensoneImage.sprite      = LogicDataCenter.crownPageDataManager.GetCrownGemStoneSpriteByIconID(config.nGemstoneIconID, 1);
            SeletedGemsotneImage.sprite = LogicDataCenter.crownPageDataManager.GetCrownGemStoneSpriteByIconID(config.nGemstoneIconID, 1);

            if (bWin)
            {
                WinGensoneImage.gameObject.SetActive(true);
            }

            if (bWinEnd)
            {
                EnterCobModel();
            }
            else
            {
                EnterWinModel();
            }

            SetCobstoneToolTip();
        }