少年修仙传客户端代码仓库
client_linchunjie
2019-04-27 2b0045cfb6bfe61eed129ef3a84643c723f50bfa
6637 子 【2.0】仙宝寻主调整 / 【前端】【2.0】仙宝寻主
2个文件已删除
5个文件已修改
1353 ■■■■ 已修改文件
Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs 899 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/XLuaGenAutoRegister.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BossShow/BossShowModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/TreasureFindHost/ReciveConditionCell.cs 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/TreasureFindHost/TreasureFindHostModel.cs 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/TreasureFindHost/TreasureFindHostWin.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs
File was deleted
Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs.meta
File was deleted
Lua/Gen/XLuaGenAutoRegister.cs
@@ -1356,9 +1356,6 @@
            translator.DelayWrapLoader(typeof(PwdKeyboard), PwdKeyboardWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.TreasureFindHostModel), SnxxzUITreasureFindHostModelWrap.__Register);
            translator.DelayWrapLoader(typeof(FairyJadeInvestmentModel), FairyJadeInvestmentModelWrap.__Register);
        
        
System/BossShow/BossShowModel.cs
@@ -134,7 +134,7 @@
            catch (Exception e)
            {
                BossShowing = false;
                Debug.LogError(e.Message);
                Debug.LogError(e.Message + e.StackTrace);
            }
        }
System/TreasureFindHost/ReciveConditionCell.cs
@@ -24,74 +24,58 @@
        [SerializeField] List<CommonItemBaisc> itemlist = new List<CommonItemBaisc>();
        TreasureFindHostModel hostModel { get { return ModelCenter.Instance.GetModel<TreasureFindHostModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        int progress = 0;
        int findId = 0;
        StringBuilder condiSB = new StringBuilder();
        public void SetModel(int findId)
        {
            FindTreasureInfo info = null;
            hostModel.TryGetFindTreasureInfo(findId, out info);
            if (info == null) return;
            condiSB.Length = 0;
            findId = info.id;
            bool isReach = hostModel.IsReachCondition(info, out progress);
            SetReceiveAwardInfo(info);
            switch (info.type)
        public void Display(int findId)
        {
            FindTreasureInfo findHosts = null;
            hostModel.TryGetFindTreasureInfo(findId, out findHosts);
            if (findHosts == null)
            {
                return;
            }
            findId = findHosts.id;
            bool isReach = hostModel.IsReachCondition(findHosts);
            SetReceiveAwardInfo(findHosts);
            switch (findHosts.type)
            {
                case 1:
                    conditionText.text = Language.Get("TreasureFindHost_Type1", GetFindProgressStr(info));
                    break;
                case 2:
                    int equipPlace = 0;
                    foreach (var value in info.needConditionsDict.Values)
                    var index = 0;
                    var sb = new StringBuilder();
                    sb.Append(Language.Get("FindHostEquip_1"));
                    foreach (var findHostEquip in findHosts.findHostEquips)
                    {
                        string s = s = Language.Get("TreasureFindHost_Type2Split1", value[0], UIHelper.GetColorNameByItemColor(value[1]), value[2]);
                        if (condiSB.Length > 0)
                        if (index > 0)
                        {
                            s = StringUtility.Contact(Language.Get("TreasureFindHost_Type2Split2"), s);
                            sb.Append(Language.Get("FindHostEquip_2"));
                        }
                        equipPlace = value[3];
                        condiSB.Append(s);
                        var equipSet = equipModel.GetEquipSet(findHostEquip.level);
                        var realmConfig = RealmConfig.Get(equipSet.realm);
                        sb.Append(UIHelper.GetRealmName(equipSet.realm, true));
                        sb.Append(UIHelper.AppendColor(findHostEquip.itemColor,
                            UIHelper.GetColorNameByItemColor(findHostEquip.itemColor), true));
                        if (findHostEquip.isSuit)
                        {
                            var suits = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, findHostEquip.level, EquipSuitType.TwoSuit);
                            sb.Append(EquipSuitConfig.GetEquipSuitName(suits[0].suiteID));
                        }
                        sb.Append(UIHelper.GetEquipPlaceName(findHostEquip.place));
                        index++;
                    }
                    conditionText.text = Language.Get("TreasureFindHost_Type2", condiSB.ToString(), UIHelper.GetEquipPlaceName(equipPlace), GetFindProgressStr(info));
                    break;
                case 3:
                    conditionText.text = Language.Get("TreasureFindHost_Type3", info.targetNum, GetFindProgressStr(info));
                    break;
                case 4:
                    foreach (var value in info.needConditionsDict.Values)
                    {
                        string s = "";
                        switch (value[1])
                        {
                            case 1:
                                s = Language.Get("TreasureFindHost_Type4Split1", value[0], Language.Get("TreasureFindHost_Type4Split2"));
                                break;
                            case 2:
                                s = Language.Get("TreasureFindHost_Type4Split1", value[0], Language.Get("TreasureFindHost_Type4Split3"));
                                break;
                        }
                        if (condiSB.Length > 0)
                        {
                            s = StringUtility.Contact(Language.Get("TreasureFindHost_Type2Split2"), s);
                        }
                        condiSB.Append(s);
                    }
                    conditionText.text = Language.Get("TreasureFindHost_Type4", info.targetNum, condiSB.ToString(), GetFindProgressStr(info));
                    break;
                default:
                    DebugEx.LogError("暂无此类型需要添加:" + info.type);
                    conditionText.text = StringUtility.Contact(sb.ToString(), "\n", GetFindProgressStr(findHosts));
                    break;
            }
            List<int> adviceIdlist = info.adviceItemIdDict[PlayerDatas.Instance.baseData.Job];
            List<int> adviceIdlist = findHosts.findRecommandItems[PlayerDatas.Instance.baseData.Job];
            receiveBtn.RemoveAllListeners();
            if (info.IsCompleted)
            if (findHosts.IsCompleted)
            {
                receiveEffect.gameObject.SetActive(false);
                receivedImg.SetActive(true);
@@ -107,7 +91,7 @@
                    btnText.text = Language.Get("HallowsWin_Btn_ReceiveAward");
                    receiveBtn.AddListener(() =>
                    {
                        hostModel.SendGetRewardQuest(info.id);
                        hostModel.SendGetRewardQuest(findHosts.id);
                    });
                }
                else
@@ -126,13 +110,13 @@
            adviceText.SetActive(false);
        }
        public void SetReceiveAwardInfo(FindTreasureInfo info)
        public void SetReceiveAwardInfo(FindTreasureInfo findHost)
        {
            foreach (var value in info.awardMoneyDict.Values)
            foreach (var findHostMoney in findHost.findHostMoneys)
            {
                int rewardMoneyCnt = value[1];
                int rewardMoneyCnt = findHostMoney.count;
                rewardCntTex.text = UIHelper.ReplaceLargeNum(rewardMoneyCnt);
                int itemId = GeneralDefine.moneyDisplayIds[value[0]];
                int itemId = GeneralDefine.moneyDisplayIds[findHostMoney.moneyType];
                ItemConfig itemConfig = ItemConfig.Get(itemId);
                if (itemConfig != null)
                {
@@ -146,14 +130,14 @@
                });
            }
            foreach (var value in info.awardItemDict.Values)
            foreach (var item in findHost.findHostItems)
            {
                ItemConfig itemConfig = ItemConfig.Get(value[0]);
                ItemConfig itemConfig = ItemConfig.Get(item.id);
                if (itemConfig != null)
                {
                    rewardIcon.SetSprite(itemConfig.IconKey);
                    rewardBg.SetItemBackGround(itemConfig.ItemColor);
                    int rewardCnt = value[1];
                    int rewardCnt = item.count;
                    rewardCntTex.text = UIHelper.ReplaceLargeNum(rewardCnt);
                    rewardBtn.RemoveAllListeners();
                    rewardBtn.AddListener(() =>
@@ -172,17 +156,15 @@
            }
            else
            {
                if (progress < info.targetNum)
                if (!hostModel.IsReachCondition(info))
                {
                    return UIHelper.AppendColor(TextColType.Red, StringUtility.Contact(progress, "/", info.targetNum), true);
                    return UIHelper.AppendColor(TextColType.Red, StringUtility.Contact(0, "/", info.targetNum), true);
                }
                else
                {
                    return UIHelper.AppendColor(TextColType.Green, StringUtility.Contact(progress, "/", info.targetNum));
                    return UIHelper.AppendColor(TextColType.Green, StringUtility.Contact(1, "/", info.targetNum), true);
                }
            }
        }
    }
}
System/TreasureFindHost/TreasureFindHostModel.cs
@@ -9,48 +9,42 @@
    [XLua.LuaCallCSharp]
    public class TreasureFindHostModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
    {
        private Dictionary<int, List<FindTreasureInfo>> findTreasureDict = new Dictionary<int, List<FindTreasureInfo>>();
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        Dictionary<int, List<FindTreasureInfo>> findTreasures = new Dictionary<int, List<FindTreasureInfo>>();
        public List<int> treasureIdlist { get; set; }
        public event Action TreasureFindHostCompleteAct;
        public int[] specEquipIds { get; private set;}
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        public override void Init()
        {
            findTreasureDict.Clear();
            List<TreasureFindHostConfig> findlist = TreasureFindHostConfig.GetValues();
            for(int i = 0; i < findlist.Count; i++)
            var configs = TreasureFindHostConfig.GetValues();
            foreach (var config in configs)
            {
                int treasureId = findlist[i].MagicWeaponID;
                if(!findTreasureDict.ContainsKey(treasureId))
                int treasureId = config.MagicWeaponID;
                List<FindTreasureInfo> list;
                if (!findTreasures.TryGetValue(treasureId, out list))
                {
                    List<FindTreasureInfo> infolist = new List<FindTreasureInfo>();
                    FindTreasureInfo treasureInfo = new FindTreasureInfo(findlist[i].ID);
                    infolist.Add(treasureInfo);
                    findTreasureDict.Add(treasureId,infolist);
                    list = new List<FindTreasureInfo>();
                    findTreasures.Add(treasureId, list);
                }
                else
                {
                    FindTreasureInfo treasureInfo = new FindTreasureInfo(findlist[i].ID);
                    findTreasureDict[treasureId].Add(treasureInfo);
                }
                var treasureInfo = new FindTreasureInfo(config.ID);
                list.Add(treasureInfo);
            }
            treasureIdlist = findTreasureDict.Keys.ToList();
            treasureIdlist = findTreasures.Keys.ToList();
            SetTreasureCellRedKey();
            PlayerDatas.Instance.playerDataRefreshEvent += RefreshPlayerData;
            playerPack.refreshItemCountEvent += RefreshEquipInfo;
            packModel.refreshItemCountEvent += RefreshEquipInfo;
            treasureModel.treasureStateChangeEvent += RefreshTreasureState;
            FuncConfigConfig SamboSpecialUnlock = FuncConfigConfig.Get("SamboSpecialUnlock");
            specEquipIds = ConfigParse.GetMultipleStr<int>(SamboSpecialUnlock.Numerical1);
        }
        public void OnBeforePlayerDataInitialize()
        {
            jumpTreasureId = 0;
            foreach (var list in findTreasureDict.Values)
            foreach (var list in findTreasures.Values)
            {
                for (int i = 0; i < list.Count; i++)
                {
@@ -89,111 +83,57 @@
        public override void UnInit()
        {
            PlayerDatas.Instance.playerDataRefreshEvent -= RefreshPlayerData;
            playerPack.refreshItemCountEvent -= RefreshEquipInfo;
            packModel.refreshItemCountEvent -= RefreshEquipInfo;
            treasureModel.treasureStateChangeEvent -= RefreshTreasureState;
        }
        public Dictionary<int, List<FindTreasureInfo>> GetFindTreasureInfoDict()
        {
            return findTreasureDict;
            return findTreasures;
        }
        public bool IsReachCondition(FindTreasureInfo treasureInfo,out int progress)
        public bool IsReachCondition(FindTreasureInfo treasureInfo)
        {
            progress = 0;
            if (treasureInfo == null) return false;
            if (treasureInfo == null)
            {
                return false;
            }
            switch(treasureInfo.type)
            {
                case 1:
                    return CheckType1IsReachCondition(treasureInfo, out progress);
                case 2:
                    return CheckType2IsReachCondition(treasureInfo, out progress);
                case 3:
                    return CheckType3IsReachCondition(treasureInfo, out progress);
                case 4:
                    return CheckType4IsReachCondition(treasureInfo,out progress);
                    return CheckType1IsReachCondition(treasureInfo);
            }
            return false;
        }
        private bool CheckType1IsReachCondition(FindTreasureInfo treasureInfo, out int progress)
        private bool CheckType1IsReachCondition(FindTreasureInfo treasureInfo)
        {
            progress = PlayerDatas.Instance.GetPlayerDataByType(PlayerDataType.CDBPlayerRefresh_FuncDef);
            if(progress < treasureInfo.targetNum)
            foreach (var findHostEquip in treasureInfo.findHostEquips)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        private bool CheckType2IsReachCondition(FindTreasureInfo treasureInfo, out int progress)
        {
            progress = 0;
            SinglePack singlePack = playerPack.GetSinglePack(PackType.Equip);
            if (singlePack == null) return false;
            foreach (var condi in treasureInfo.needConditionsDict.Values)
            {
                progress = 0;
                ItemModel itemModel = playerPack.GetItemByIndex(PackType.Equip,condi[3]);
                if(itemModel != null)
                var equipGuid = equipModel.GetEquip(new Int2(findHostEquip.level, findHostEquip.place));
                if (!string.IsNullOrEmpty(equipGuid))
                {
                    if(specEquipIds != null && specEquipIds.Contains(itemModel.itemId))
                    var itemModel = packModel.GetItemByGuid(equipGuid);
                    if (itemModel != null)
                    {
                        progress += 1;
                        return true;
                    }
                    if(itemModel.config.LV >= condi[0]
                        && itemModel.config.ItemColor >= condi[1]
                        && itemModel.config.StarLevel >= condi[2])
                    {
                        progress += 1;
                        return true;
                        if (itemModel.config.ItemColor >= findHostEquip.itemColor)
                        {
                            if (findHostEquip.isSuit)
                            {
                                if (ItemLogicUtility.Instance.IsSuitEquip(itemModel.itemId))
                                {
                                    return true;
                                }
                            }
                            else
                            {
                                return true;
                            }
                        }
                    }
                }
            }
            return false;
        }
        private bool CheckType3IsReachCondition(FindTreasureInfo treasureInfo, out int progress)
        {
            progress = 0;
            SinglePack singlePack = playerPack.GetSinglePack(PackType.Equip);
            if (singlePack == null) return false;
            Dictionary<int, ItemModel> equipDict = singlePack.GetAllItems();
            foreach(var model in equipDict.Values)
            {
                progress += model.config.StarLevel;
            }
            if(progress >= treasureInfo.targetNum)
            {
                return true;
            }
            return false;
        }
        private bool CheckType4IsReachCondition(FindTreasureInfo treasureInfo,out int progress)
        {
            progress = 0;
            SinglePack singlePack = playerPack.GetSinglePack(PackType.Equip);
            if (singlePack == null) return false;
            Dictionary<int, ItemModel> equipDict = singlePack.GetAllItems();
            foreach(var condi in treasureInfo.needConditionsDict.Values)
            {
                progress = 0;
                if(progress >= treasureInfo.targetNum)
                {
                    return true;
                }
            }
            return false;
        }
@@ -204,7 +144,7 @@
            if (hostConfig != null)
            {
                List<FindTreasureInfo> infolist = null;
                findTreasureDict.TryGetValue(hostConfig.MagicWeaponID,out infolist);
                findTreasures.TryGetValue(hostConfig.MagicWeaponID,out infolist);
                if(infolist != null)
                {
                    for (int i = 0; i < infolist.Count; i++)
@@ -224,8 +164,11 @@
        {
            progress = 0;
            List<FindTreasureInfo> infolist = null;
            findTreasureDict.TryGetValue(treasureId,out infolist);
            if (infolist == null) return false;
            findTreasures.TryGetValue(treasureId,out infolist);
            if (infolist == null)
            {
                return false;
            }
            
            for(int i = 0; i < infolist.Count; i++)
            {
@@ -245,7 +188,7 @@
        private void RefreshTreasureState(int id)
        {
            if (!findTreasureDict.ContainsKey(id)) return;
            if (!findTreasures.ContainsKey(id)) return;
            Treasure treasure = null;
            treasureModel.TryGetTreasure(id, out treasure);
@@ -281,7 +224,7 @@
        public bool CheckTreasureFindHostFinish()
        {
            bool isfinish = true;
            foreach (var id in findTreasureDict.Keys)
            foreach (var id in findTreasures.Keys)
            {
                Treasure treasure = null;
                treasureModel.TryGetTreasure(id, out treasure);
@@ -396,7 +339,7 @@
        {
            treasureCellRedDict.Clear();
            int i = 0;
            foreach(var id in findTreasureDict.Keys)
            foreach(var id in findTreasures.Keys)
            {
                int redKey = TreasureFindHost_RedKey * 100 + i;
                Redpoint redpoint = new Redpoint(TreasureFindHost_RedKey,redKey);
@@ -417,7 +360,10 @@
        private void RefreshEquipInfo(PackType type, int index, int itemId)
        {
            if (type != PackType.Equip) return;
            if (type != PackType.Equip)
            {
                return;
            }
            for (int i = 0; i < treasureIdlist.Count; i++)
            {
@@ -467,11 +413,10 @@
            }
            if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.TreasureFindHost)) return;
            List<FindTreasureInfo> list = findTreasureDict[treasureId];
            int progress = 0;
            List<FindTreasureInfo> list = findTreasures[treasureId];
            for (int i = 0; i < list.Count; i++)
            {
                bool isReach = IsReachCondition(list[i],out progress);
                bool isReach = IsReachCondition(list[i]);
                if(!list[i].IsCompleted && isReach)
                {
                    treasureCellRedDict[treasureId].state = RedPointState.Simple;
@@ -482,6 +427,7 @@
            Treasure treasure = null;
            treasureModel.TryGetTreasure(treasureId, out treasure);
            var progress = 0;
            if (IsReachUnlock(treasureId,out progress) 
                && treasure != null && treasure.state != TreasureState.Collected)
            {
@@ -494,99 +440,94 @@
    public class FindTreasureInfo
    {
        public int id;
        public int treasureId;
        public int type;
        public int targetNum;
        public int jumpId;
        public Dictionary<int, List<int>> needConditionsDict = new Dictionary<int, List<int>>();
        public Dictionary<int, List<int>> awardItemDict = new Dictionary<int, List<int>>();
        public Dictionary<int, List<int>> awardMoneyDict = new Dictionary<int, List<int>>();
        public Dictionary<int, List<int>> adviceItemIdDict = new Dictionary<int, List<int>>();
        public readonly int id;
        public readonly int treasureId;
        public readonly int type;
        public readonly int targetNum;
        public readonly int jumpId;
        public List<FindHostEquip> findHostEquips { get; private set; }
        public List<Item> findHostItems = new List<Item>();
        public List<FindHostMoney> findHostMoneys = new List<FindHostMoney>();
        public Dictionary<int, List<int>> findRecommandItems = new Dictionary<int, List<int>>();
        public bool IsCompleted;
        public FindTreasureInfo(int id)
        {
            needConditionsDict.Clear();
            awardItemDict.Clear();
            awardMoneyDict.Clear();
            adviceItemIdDict.Clear();
            var config = TreasureFindHostConfig.Get(id);
            this.id = id;
            this.type = config.Type;
            this.targetNum = config.NeedCnt;
            this.jumpId = config.JumpID;
            this.treasureId = config.MagicWeaponID;
            IsCompleted = false;
            TreasureFindHostConfig hostConfig = TreasureFindHostConfig.Get(id);
            this.type = hostConfig.Type;
            this.targetNum = hostConfig.NeedCnt;
            this.jumpId = hostConfig.JumpID;
            this.treasureId = hostConfig.MagicWeaponID;
            JsonData needCondiData = JsonMapper.ToObject(hostConfig.Condition);
            if(needCondiData.IsArray)
            switch (type)
            {
                for(int i = 0; i < needCondiData.Count; i++)
                {
                    List<int> condlist = new List<int>();
                    needConditionsDict.Add(i,condlist);
                    if (needCondiData[i].IsArray)
                case 1:
                    var equipArray = JsonMapper.ToObject<int[][]>(config.Condition);
                    findHostEquips = new List<FindHostEquip>();
                    for (int i = 0; i < equipArray.Length; i++)
                    {
                        for(int j = 0; j < needCondiData[i].Count;j++)
                        findHostEquips.Add(new FindHostEquip()
                        {
                            condlist.Add(int.Parse(needCondiData[i][j].ToString()));
                        }
                            level = equipArray[i][0],
                            itemColor = equipArray[i][1],
                            isSuit = equipArray[i][2] == 1,
                            place = equipArray[i][3],
                        });
                    }
                    else
                    {
                        condlist.Add(int.Parse(needCondiData[i].ToString()));
                    }
                }
                    break;
            }
            JsonData awardItemData = JsonMapper.ToObject(hostConfig.AwardItemList);
            if(awardItemData.IsArray)
            var itemArray = JsonMapper.ToObject<int[][]>(config.AwardItemList);
            for (int i = 0; i < itemArray.Length; i++)
            {
                for(int i= 0; i < awardItemData.Count;i++)
                findHostItems.Add(new Item()
                {
                    List<int> awardlist = new List<int>();
                    awardItemDict.Add(i, awardlist);
                    if (awardItemData[i].IsArray)
                    {
                        for(int j = 0; j < awardItemData[i].Count; j++)
                        {
                            awardlist.Add(int.Parse(awardItemData[i][j].ToString()));
                        }
                    }
                }
                    id = itemArray[i][0],
                    count = itemArray[i][1],
                });
            }
            JsonData awardMoneyData = JsonMapper.ToObject(hostConfig.Money);
            if (awardMoneyData.IsArray)
            var moneyArray = JsonMapper.ToObject<int[][]>(config.Money);
            for (int i = 0; i < moneyArray.Length; i++)
            {
                for (int i = 0; i < awardMoneyData.Count; i++)
                findHostMoneys.Add(new FindHostMoney()
                {
                    List<int> awardlist = new List<int>();
                    awardMoneyDict.Add(i, awardlist);
                    if (awardMoneyData[i].IsArray)
                    {
                        for (int j = 0; j < awardMoneyData[i].Count; j++)
                        {
                            awardlist.Add(int.Parse(awardMoneyData[i][j].ToString()));
                        }
                    }
                }
                    moneyType = moneyArray[i][0],
                    count = moneyArray[i][1],
                });
            }
            JsonData adviceData = JsonMapper.ToObject(hostConfig.AdviceIds);
            foreach(var job in adviceData.Keys)
            var recommandJson = JsonMapper.ToObject(config.AdviceIds);
            foreach (var jobKey in recommandJson.Keys)
            {
                List<int> idlist = new List<int>();
                adviceItemIdDict.Add(int.Parse(job),idlist);
                if(adviceData[job].IsArray)
                var items = new List<int>();
                findRecommandItems.Add(int.Parse(jobKey), items);
                var array = LitJson.JsonMapper.ToObject<int[]>(recommandJson[jobKey].ToJson());
                for (int i = 0; i < array.Length; i++)
                {
                    for(int i = 0; i < adviceData[job].Count; i++)
                    {
                        idlist.Add(int.Parse(adviceData[job][i].ToString()));
                    }
                    items.Add(array[i]);
                }
            }
        }
    }
    public struct FindHostEquip
    {
        public int level;
        public int place;
        public int itemColor;
        public bool isSuit;
    }
    public struct FindHostMoney
    {
        public int moneyType;
        public int count;
    }
}
System/TreasureFindHost/TreasureFindHostWin.cs
@@ -313,8 +313,7 @@
            }
            else
            {
                int progress = 0;
                if (hostModel.IsReachCondition(info, out progress))
                if (hostModel.IsReachCondition(info))
                {
                    return true;
                }
@@ -333,8 +332,7 @@
            }
            else
            {
                int progress = 0;
                if (hostModel.IsReachCondition(info, out progress))
                if (hostModel.IsReachCondition(info))
                {
                    return false;
                }
@@ -348,7 +346,7 @@
        private void RefreshConditionCell(ScrollerDataType type, CellView cell)
        {
            ReciveConditionCell conditionCell = cell.GetComponent<ReciveConditionCell>();
            conditionCell.SetModel(cell.index);
            conditionCell.Display(cell.index);
        }
    }