少年修仙传客户端代码仓库
client_Zxw
2018-09-25 a4f079e547984e98141a4c55e6f1622cbf802888
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
16个文件已修改
306 ■■■■■ 已修改文件
Core/GameEngine/Model/TelPartialConfig/tagItemCompoundConfig.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceModel.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/BlastFurnaceWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatCenter.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatCtrl.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatTip.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWinModel.cs 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestBehaviour.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Market/PutawayWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/PlayerDead/PlayerDeadModel.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/PlayerDead/RebornWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmUpWin.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/PetAndMountPushWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasurePotentialPanel.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/tagItemCompoundConfig.cs
@@ -140,6 +140,21 @@
            return null;
        }
        public static ItemCompoundConfig GetItemCompoundByType(int firstType,int secondType, int thirdType)
        {
            if(allComposeModelDict.ContainsKey(firstType))
            {
                if(allComposeModelDict[firstType].ContainsKey(secondType))
                {
                    if(allComposeModelDict[firstType][secondType].ContainsKey(thirdType))
                    {
                        return allComposeModelDict[firstType][secondType][thirdType][0];
                    }
                }
            }
            return null;
        }
        public static bool TryGetTicketCompose(int _ticketId, out List<ItemCompoundConfig> list)
        {
            return ticketComposeDict.TryGetValue(_ticketId, out list);
System/BlastFurnace/BlastFurnaceModel.cs
@@ -10,7 +10,7 @@
public class BlastFurnaceModel : Model, IBeforePlayerDataInitialize, IAfterPlayerDataInitialize, IPlayerLoginOk
{
    public BlastFurnaceFuncTitle funcTitle = BlastFurnaceFuncTitle.MakeDan;
    private int makeDrugRedLv;
    public Action<AlchemySpecConfig> RefreshAddSpecMatEvent;
    private TreasureModel _model;
@@ -64,6 +64,8 @@
        }
        alchemyModellist = Config.Instance.GetAllValues<AlchemyConfig>();
        FuncConfigConfig alchemyRedPoint = Config.Instance.Get<FuncConfigConfig>("AlchemyRedPoint");
        int.TryParse(alchemyRedPoint.Numerical1,out makeDrugRedLv);
        SetDandrugRedPointlist();
        GlobalTimeEvent.Instance.secondEvent += SecondUpdate;
    }
@@ -757,11 +759,11 @@
        bool isCheckRed = false;
        if(!isClick)
        {
            if(PlayerDatas.Instance.baseData.LV <= 151)
            if(PlayerDatas.Instance.baseData.LV <= makeDrugRedLv)
            {
                isCheckRed = true;
            }
            else if(PlayerDatas.Instance.baseData.LV > 151 && !isLogin && !IsMakeDrugWin)
            else if(PlayerDatas.Instance.baseData.LV > makeDrugRedLv && !isLogin && !IsMakeDrugWin)
            {
                isCheckRed = true;
            }
@@ -790,7 +792,7 @@
        }
        else
        {
            if(PlayerDatas.Instance.baseData.LV > 151)
            if(PlayerDatas.Instance.baseData.LV > makeDrugRedLv)
            {
                MakeDrugRedpoint.state = RedPointState.None;
            }
@@ -1361,6 +1363,7 @@
{
    MakeDan,  //炼丹
    AttrDan,  //丹药属性
    DrugStore, //回收商店
}
System/BlastFurnace/BlastFurnaceWin.cs
@@ -94,6 +94,9 @@
                case BlastFurnaceFuncTitle.AttrDan:
                    _treasureRefineTitle.state = TitleBtnState.Click;
                    break;
                case BlastFurnaceFuncTitle.DrugStore:
                    _storeTitle.state = TitleBtnState.Click;
                    break;
            }
          
        }
@@ -137,6 +140,7 @@
        private void OnClickStoreTitle()
        {
            FurnaceModel.funcTitle = BlastFurnaceFuncTitle.DrugStore;
            _lingDanTips.SetActive(false);
            attrDanTips.SetActive(false);
            storeTips.SetActive(true);
System/Chat/ChatCenter.cs
@@ -49,8 +49,10 @@
            chatChannels.Add(ChatInfoType.System);
            chatChannels.Add(ChatInfoType.World);
            chatChannels.Add(ChatInfoType.Area);
            chatChannels.Add(ChatInfoType.Team);
            chatChannels.Add(ChatInfoType.Invite);
            chatChannels.Add(ChatInfoType.Trumpet);
            chatChannels.Add(ChatInfoType.Fairy);
            chatChannels.Add(ChatInfoType.Friend);
        }
@@ -708,7 +710,7 @@
            CheckChatFloatOpen();
            if (win is MainInterfaceWin)
            {
                CheckOpenChatAfterCollect();
                SnxxzGame.Instance.StartCoroutine(Co_CheckAfterCollect());
            }
        }
@@ -744,6 +746,12 @@
            CheckOpenChatAfterCollect();
        }
        IEnumerator Co_CheckAfterCollect()
        {
            yield return null;
            CheckOpenChatAfterCollect();
        }
        void CheckOpenChatAfterCollect()
        {
            if (!openChatAfterCollect)
@@ -762,11 +770,10 @@
                return;
            }
            openChatAfterCollect = false;
            if (!WindowCenter.Instance.CheckOpen<SocialWin>())
            if (!WindowCenter.Instance.CheckOpen<ChatWin>())
            {
                ChatCtrl.Inst.presentChatType = ChatInfoType.Fairy;
                WindowCenter.Instance.CloseImmediately<MainInterfaceWin>();
                WindowCenter.Instance.Open<SocialWin>();
                WindowCenter.Instance.Open<ChatWin>();
            }
        }
        #endregion
System/Chat/ChatCtrl.cs
@@ -1029,13 +1029,15 @@
        switch (type)
        {
            case ChatInfoType.Team:
                if (!WindowCenter.Instance.CheckOpen<TeamChatWin>())
                if (!WindowCenter.Instance.CheckOpen<TeamChatWin>()
                    && (!WindowCenter.Instance.CheckOpen<ChatWin>() || presentChatType != ChatInfoType.Team))
                {
                    unReadChatCounts[ChatInfoType.Team] = Mathf.Min(unReadChatCounts[ChatInfoType.Team] + 1, 99);
                }
                break;
            case ChatInfoType.Fairy:
                if (!WindowCenter.Instance.CheckOpen<FairyChatWin>())
                if (!WindowCenter.Instance.CheckOpen<FairyChatWin>()
                    && (!WindowCenter.Instance.CheckOpen<ChatWin>() || presentChatType != ChatInfoType.Fairy))
                {
                    unReadChatCounts[ChatInfoType.Fairy] = Mathf.Min(unReadChatCounts[ChatInfoType.Fairy] + 1, 99);
                }
System/Chat/ChatTip.cs
@@ -145,7 +145,7 @@
    private void OnChatClick()
    {
        if (WindowCenter.Instance.CheckOpen<ChatWin>() || WindowCenter.Instance.CheckOpen<SocialWin>())
        if (WindowCenter.Instance.CheckOpen<ChatWin>())
        {
            return;
        }
@@ -154,9 +154,6 @@
        if (mapId == 31230)
        {
            ChatCtrl.Inst.presentChatType = ChatInfoType.Fairy;
            WindowCenter.Instance.CloseImmediately<MainInterfaceWin>();
            WindowCenter.Instance.Open<SocialWin>();
            return;
        }
        WindowCenter.Instance.Open<ChatWin>();
    }
@@ -214,7 +211,7 @@
    void OnChatDataClick(ChatData data)
    {
        if (WindowCenter.Instance.CheckOpen<ChatWin>() || WindowCenter.Instance.CheckOpen<SocialWin>())
        if (WindowCenter.Instance.CheckOpen<ChatWin>())
        {
            return;
        }
@@ -224,20 +221,7 @@
        {
            ChatCtrl.Inst.presentChatType = ChatInfoType.Fairy;
        }
        switch (ChatCtrl.Inst.presentChatType)
        {
            case ChatInfoType.Team:
                WindowCenter.Instance.CloseImmediately<MainInterfaceWin>();
                WindowCenter.Instance.Open<SocialWin>(false, 2);
                break;
            case ChatInfoType.Fairy:
                WindowCenter.Instance.CloseImmediately<MainInterfaceWin>();
                WindowCenter.Instance.Open<SocialWin>();
                break;
            default:
                WindowCenter.Instance.Open<ChatWin>();
                break;
        }
        WindowCenter.Instance.Open<ChatWin>();
    }
    void OnRefreshChatTip(ChatInfoType type)
System/Chat/ChatWin.cs
@@ -170,6 +170,7 @@
                    break;
            }
            m_ChatContent.chatType = ChatCtrl.Inst.presentChatType;
            ChatCtrl.Inst.ViewChat(ChatCtrl.Inst.presentChatType);
        }
        private void OnChannelSelect(CellView _cell)
System/Compose/New/ComposeWinModel.cs
@@ -814,44 +814,49 @@
        int[] composeCondi = itemConfig.JumpComposeCondi;
        if (composeCondi.Length < 3) return false;
        ItemCompoundConfig itemCompound = GetThirdTypeModellist(composeCondi[0],composeCondi[1],composeCondi[2])[0];
        if(itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV)
        ItemCompoundConfig itemCompound = ItemCompoundConfig.GetItemCompoundByType(composeCondi[0], composeCondi[1], composeCondi[2]);
        if(itemCompound != null)
        {
            switch (itemCompound.firstType)
            if (itemCompound.levelNeed <= PlayerDatas.Instance.baseData.LV)
            {
                case 1:
                    jumpId = (int)JumpUIType.ComposeFunc1;
                    break;
                case 2:
                    jumpId = (int)JumpUIType.ComposeFunc2;
                    break;
                case 3:
                    jumpId = (int)JumpUIType.ComposeFunc3;
                    break;
                case 4:
                    jumpId = (int)JumpUIType.ComposeFunc4;
                    break;
                case 5:
                    jumpId = (int)JumpUIType.ComposeFunc5;
                    break;
            }
            this.secondType = itemCompound.secondType;
                switch (itemCompound.firstType)
                {
                    case 1:
                        jumpId = (int)JumpUIType.ComposeFunc1;
                        break;
                    case 2:
                        jumpId = (int)JumpUIType.ComposeFunc2;
                        break;
                    case 3:
                        jumpId = (int)JumpUIType.ComposeFunc3;
                        break;
                    case 4:
                        jumpId = (int)JumpUIType.ComposeFunc4;
                        break;
                    case 5:
                        jumpId = (int)JumpUIType.ComposeFunc5;
                        break;
                }
                this.secondType = itemCompound.secondType;
            if(itemCompound.firstType == 5 && itemCompound.secondType == 3)
            {
                this.thirdType = PlayerDatas.Instance.baseData.Job;
                if (itemCompound.firstType == 5 && itemCompound.secondType == 3)
                {
                    this.thirdType = PlayerDatas.Instance.baseData.Job;
                }
                else
                {
                    this.thirdType = itemCompound.thirdType;
                }
                return true;
            }
            else
            {
                this.thirdType = itemCompound.thirdType;
                SysNotifyMgr.Instance.ShowTip("TicketComposeUnlock", itemCompound.levelNeed, itemCompound.secondTypeName);
                return false;
            }
            return true;
        }
        else
        {
            SysNotifyMgr.Instance.ShowTip("TicketComposeUnlock", itemCompound.levelNeed, itemCompound.secondTypeName);
            return false;
        }
        return false;
    }
    public bool CheckIsComposeByType(int firstType,int secondType,int thirdType)
System/DailyQuest/DailyQuestBehaviour.cs
@@ -15,6 +15,7 @@
    {
        [SerializeField] Text m_Title;
        [SerializeField] RectTransform m_ContainerTimes;
        [SerializeField] Text m_TimesUnit;
        [SerializeField] TextEx m_Times;
        [SerializeField] Text m_PracticePoint;
        [SerializeField] Text m_UnLockCondition;
@@ -189,6 +190,17 @@
            else
            {
                m_ContainerTimes.gameObject.SetActive(true);
                switch ((DailyQuestType)this.data.id)
                {
                    case DailyQuestType.KillMonster:
                        m_TimesUnit.text = Language.Get("DailyQuestMonster");
                        break;
                    default:
                        m_TimesUnit.text = Language.Get("DailyQuestTimes");
                        break;
                }
                m_Times.text = StringUtility.Contact(completedTimes, "/", totalTimes);
                m_Times.colorType = completedTimes >= totalTimes ? TextColType.DarkGreen : TextColType.NavyBrown;
            }
@@ -318,6 +330,9 @@
            switch ((DailyQuestType)data.id)
            {
                case DailyQuestType.KillMonster:
                    m_PracticePoint.text = Language.Get("DailyQuestPerPoint2", config.OnceActivity, config.OnceActivityTime);
                    break;
                case DailyQuestType.BlastStove:
                    m_PracticePoint.text = Language.Get("DailyQuestLiandan", config.OnceActivity);
                    break;
System/Market/PutawayWin.cs
@@ -514,6 +514,7 @@
            if (PutawayData.Instance.itemModel == null) return;
            if (PlayerDatas.Instance.market.putawayCnt >= model.totalPutawayCnt)
            {
                SysNotifyMgr.Instance.ShowTip("MarketNoPutaway4", model.totalPutawayCnt);
                return;
            }
            if (PutawayData.Instance.priceCnt == 0)
System/PlayerDead/PlayerDeadModel.cs
@@ -26,7 +26,7 @@
        IsCanReborn = false;
        isOpenPrompting = true;
        this.deadCD = 0;
        localBossState = 0;
        localBossState = false;
        playerIsDie = false;
    }
@@ -81,13 +81,14 @@
    private DungeonOpenTimeConfig _dungeonOpenTimeModel;
    public bool IsCanReborn { get; private set; }
    public int localBossState { get; private set;}
    public bool localBossState { get; private set;}
    public string killerName { get; private set; }
    public bool isKillByPlayer { get; private set; }
    public int npcRealmLv { get; private set; }
    private void RefreshPlayerDieInfo(string key, ArrayList infolist)
    {
        npcRealmLv = 0;
        localBossState = false;
        switch (key)
        {
            case "PK_lhs_318691":
@@ -100,11 +101,16 @@
            case "GeRen_chenxin_279029":
                if(infolist.Count > 0)
                {
                    WorldBossConfig bossConfig = Config.Instance.Get<WorldBossConfig>(int.Parse(infolist[0].ToString()));
                    NPCConfig nPCConfig = Config.Instance.Get<NPCConfig>(int.Parse(infolist[0].ToString()));
                    if(nPCConfig != null)
                    {
                        killerName = nPCConfig.charName;
                        npcRealmLv = nPCConfig.Realm;
                    }
                    if(bossConfig != null)
                    {
                        localBossState = true;
                    }
                    isKillByPlayer = false;
                }
@@ -141,8 +147,6 @@
        {
            return;
        }
        localBossState = PlayerDatas.Instance.extersion.bossState;
        playerIsDie = true;
        _tagMapModel = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
        if (_tagMapModel.MapFBType == 0)
@@ -151,7 +155,7 @@
            rebornTiredNum = RebornConditions[0];
            rebornPrice = RebornConditions[2];
            //isBossKill = StatusManager.Instance.IsExist((int)playerId,20022);
            if (!isKillByPlayer && localBossState == 1)
            if (!isKillByPlayer && localBossState)
            {
                autoRebornTime = RebornConditions[3];
            }
@@ -253,7 +257,7 @@
        if (PlayerDatas.Instance.baseData.PlayerID != data.PlayerID)
            return;
        localBossState = 0;
        localBossState = false;
        this.deadCD = 0;
        isKillByPlayer = false;
        playerIsDie = false;
System/PlayerDead/RebornWin.cs
@@ -79,7 +79,7 @@
        {
            questTimes = 0;
            _rebornPriceText.text = 1.ToString();
            if(DeadModel.isKillByPlayer || DeadModel.localBossState != 1)
            if(DeadModel.isKillByPlayer || !DeadModel.localBossState)
            {
                OnShowBtnlist();
            }
System/Realm/RealmUpWin.cs
@@ -41,9 +41,12 @@
        [SerializeField] UIEffect m_RealmDungeonSfx;
        [SerializeField] RectTransform m_ContainerGroup;
        [SerializeField] Button m_Group;
        [SerializeField] Button m_AutoGroup;
        [SerializeField] Button m_GroupDungeon;
        [SerializeField] Button m_SingleDungeon;
        [SerializeField] Button m_FuncButton;
        [SerializeField] Text m_FuncButtonTxt;
        [SerializeField] Text m_RealmStageTip;
        [SerializeField] RectTransform m_ContainerFightPower;
@@ -77,6 +80,9 @@
            m_SingleDungeon.onClick.AddListener(SingleDungeon);
            m_FuncButton.onClick.AddListener(OnFunctionClick);
            m_RealmPreview.onClick.AddListener(OnRealmPreview);
            m_Group.onClick.AddListener(OpenGroup);
            m_AutoGroup.onClick.AddListener(AutoGroup);
            m_GroupDungeon.onClick.AddListener(GroupDungeon);
        }
        protected override void OnPreOpen()
@@ -86,6 +92,7 @@
            cacheRealmPoint = PlayerDatas.Instance.extersion.realmPoint;
            m_RawBoss.gameObject.SetActive(false);
            m_RawPlayer.gameObject.SetActive(false);
            m_ContainerGroup.gameObject.SetActive(false);
            overdueTime = DateTime.Now;
            Display();
        }
@@ -326,56 +333,70 @@
        {
            var _realmPoint = PlayerDatas.Instance.extersion.realmPoint;
            var config = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
            m_FuncButton.gameObject.SetActive(!realmModel.IsRealmHighest);
            m_SingleDungeon.gameObject.SetActive(false);
            if (_realmPoint >= config.NeedPoint)
            {
                m_FuncButtonTxt.text = Language.Get(config.IsBigRealm == 1 ? "RealmWin_Bewrite_13" : "RealmWin_Bewrite_12");
                m_SingleDungeon.gameObject.SetActive(config.IsBigRealm == 1 && !realmModel.IsRealmHighest);
            }
            else
            {
                m_FuncButtonTxt.text = Language.Get("RealmWin_Bewrite_1");
            }
            bool satisfyChallenge = _realmPoint >= config.NeedPoint;
            m_Group.gameObject.SetActive(!realmModel.IsRealmHighest && config.IsBigRealm == 1 && satisfyChallenge);
            m_SingleDungeon.gameObject.SetActive(!realmModel.IsRealmHighest && satisfyChallenge);
            m_FuncButton.gameObject.SetActive(!realmModel.IsRealmHighest && !satisfyChallenge);
        }
        private void OnFunctionClick()
        {
            var _realmPoint = PlayerDatas.Instance.extersion.realmPoint;
            var config = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
            if (_realmPoint >= config.NeedPoint)
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DailyQuestFunc1);
        }
        private void GroupDungeon()
        {
            if (DateTime.Now < overdueTime)
            {
                if (DateTime.Now < overdueTime)
                {
                    return;
                }
                PlayerDatas.Instance.realm.realmHelpList.Clear();
                if (config.IsBigRealm == 1)
                {
                    var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
                    if (teamModel.myTeam.inTeam && teamModel.myTeam.iamCaptainer)
                    {
                        ModelCenter.Instance.GetModel<DungeonModel>().GroupChallenge(RealmModel.REALM_DUNGEON_ID, 1);
                    }
                    else
                    {
                        teamModel.missionBuf = teamModel.currentMission = new TeamMission(31110, 1);
                        WindowCenter.Instance.Open<TeamFrameWin>(false, teamModel.myTeam.inTeam ? 1 : 0);
                    }
                }
                else
                {
                    ModelCenter.Instance.GetModel<DungeonModel>().SingleChallenge(RealmModel.REALM_DUNGEON_ID);
                }
                return;
            }
            if (PlayerDatas.Instance.baseData.MapID == RealmModel.REALM_DUNGEON_ID)
            {
                return;
            }
            var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
            if (teamModel.myTeam.inTeam && teamModel.myTeam.iamCaptainer)
            {
                ModelCenter.Instance.GetModel<DungeonModel>().GroupChallenge(RealmModel.REALM_DUNGEON_ID, 1);
            }
            else
            {
                WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DailyQuestFunc1);
                teamModel.missionBuf = teamModel.currentMission = new TeamMission(31110, 1);
                WindowCenter.Instance.Open<TeamFrameWin>(false, teamModel.myTeam.inTeam ? 1 : 0);
            }
        }
        private void AutoGroup()
        {
            if (DateTime.Now < overdueTime)
            {
                return;
            }
            var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
            teamModel.RequestAutoMatchTeam(new TeamMission(RealmModel.REALM_DUNGEON_ID, 1));
            WindowCenter.Instance.Open<TeamFrameWin>(false, 1);
        }
        private void OpenGroup()
        {
            var opened = m_ContainerGroup.gameObject.activeSelf;
            if (!opened)
            {
                m_ContainerGroup.gameObject.SetActive(true);
            }
        }
        private void SingleDungeon()
        {
            if (DateTime.Now < overdueTime)
            {
                return;
            }
            if (PlayerDatas.Instance.baseData.MapID == RealmModel.REALM_DUNGEON_ID)
            {
                return;
            }
            PlayerDatas.Instance.realm.realmHelpList.Clear();
            var _realmPoint = PlayerDatas.Instance.extersion.realmPoint;
            var config = Config.Instance.Get<RealmConfig>(PlayerDatas.Instance.baseData.realmLevel);
            if (_realmPoint >= config.NeedPoint)
System/Store/PetAndMountPushWin.cs
@@ -83,7 +83,7 @@
        private void ClickGoTo()
        {
            CloseImmediately();
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StoreFunc3);
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StoreFunc4);
        }
        private void ClickCloseBtn()
        {
System/Store/StoreModel.cs
@@ -1019,7 +1019,7 @@
        List<StoreConfig> storelist = StoreConfig.GetAllShoplist();
        for(int i = 0; i < storelist.Count; i++)
        {
            if (storelist[i].ShopType != (int)StoreFunc.GrowStrongerStore) continue;
            if (storelist[i].ShopType != (int)StoreFunc.BindStore) continue;
            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(storelist[i].ItemID);
            string key = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID,"ShopId",storelist[i].ID);
System/Treasure/TreasurePotentialPanel.cs
@@ -595,7 +595,7 @@
        {
            var levelUpConfig = GetPotentialLevelUpConfig();
            m_SuccessRatio.text = StringUtility.Contact((levelUpConfig.rate * 0.01f).ToString("f0"), "%");
            m_RatioUp.gameObject.SetActive(model.selectedPotentialBook != 0 && levelUpConfig.rate > 0);
            m_RatioUp.gameObject.SetActive(model.selectedPotentialBook != 0 && levelUpConfig.rate > 0 && levelUpConfig.materilaKind > 1);
            m_SuccessRatio.color = UIHelper.GetUIColor(model.selectedPotentialBook != 0 && levelUpConfig.rate > 0
                ? TextColType.DarkGreen : TextColType.LightYellow);
            m_UpgradeImage.gray = levelUpConfig.rate == 0 && model.selectedPotentialBook == 0;
@@ -622,14 +622,25 @@
        private void OnSpNeedItem()
        {
            var levelUpConfig = GetPotentialLevelUpConfig();
            if (levelUpConfig.rate < 10000 || model.selectedPotentialBook != 0)
            if (levelUpConfig.rate >= 10000)
            {
                SysNotifyMgr.Instance.ShowTip("SPSuccessHint");
                return;
            }
            if (model.selectedPotentialBook == 0)
            {
                WindowCenter.Instance.Open<PotentialItemUseWin>();
            }
            else
            {
                SysNotifyMgr.Instance.ShowTip("SPSuccessHint");
                //DesignDebug.Log("成功率已经够高了,不需要再增加概率了!");
                if (levelUpConfig.materilaKind > 1)
                {
                    WindowCenter.Instance.Open<PotentialItemUseWin>();
                }
                else
                {
                    ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(model.selectedPotentialBook);
                }
            }
        }
@@ -642,7 +653,7 @@
        {
            m_PotentialBook.gameObject.SetActive(_potentialBookId != 0);
            m_PotentialCount.gameObject.SetActive(_potentialBookId != 0);
            m_RemoveBook.gameObject.SetActive(_potentialBookId != 0);
            m_RemoveBook.gameObject.SetActive(false);
            m_AddBookSign.gameObject.SetActive(_potentialBookId == 0);
            if (_potentialBookId != 0)
            {
@@ -653,6 +664,7 @@
                bool satisfy = levelUpConfig.own >= levelUpConfig.need;
                m_PotentialCount.text = StringUtility.Contact(UIHelper.GetTextColorByItemColor(satisfy ?
                    TextColType.LightYellow : TextColType.Red, levelUpConfig.own.ToString()), "/", levelUpConfig.need);
                m_RemoveBook.gameObject.SetActive(levelUpConfig.materilaKind > 1);
            }
            DisplaySuccessRatio();
@@ -762,11 +774,11 @@
            var config = Config.Instance.Get<TreasureSkillConfig>(levelupId);
            if (config == null)
            {
                return new PotentialLevelUpConfig(0, 0, 0, 0);
                return new PotentialLevelUpConfig(0, 0, 0, 0, 0);
            }
            if (model.selectedPotentialBook == 0)
            {
                return new PotentialLevelUpConfig(config.InitialRate, 0, 0, 0);
                return new PotentialLevelUpConfig(config.InitialRate, 0, 0, 0, 0);
            }
            else
            {
@@ -784,7 +796,7 @@
                var need = config.MeterialNum2[index];
                var ratio = own >= need ? config.Rate[index] : config.InitialRate;
                return new PotentialLevelUpConfig(ratio, index + 1, own, need);
                return new PotentialLevelUpConfig(ratio, index + 1, own, need, config.Meterial2ID.Length);
            }
        }
@@ -1050,13 +1062,15 @@
            public int rate;
            public int need;
            public int own;
            public int materilaKind;
            public PotentialLevelUpConfig(int _rate, int _materilaIndex, int _own, int _need)
            public PotentialLevelUpConfig(int _rate, int _materilaIndex, int _own, int _need,int materilaKind)
            {
                this.rate = _rate;
                this.materilaIndex = _materilaIndex;
                this.need = _need;
                this.own = _own;
                this.materilaKind = materilaKind;
            }
        }
        [Serializable]