From 2b0045cfb6bfe61eed129ef3a84643c723f50bfa Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 27 四月 2019 11:58:26 +0800
Subject: [PATCH] 6637 子 【2.0】仙宝寻主调整 / 【前端】【2.0】仙宝寻主

---
 /dev/null                                        |   12 -
 Lua/Gen/XLuaGenAutoRegister.cs                   |    3 
 System/TreasureFindHost/TreasureFindHostModel.cs |  311 +++++++++++++++-----------------------
 System/BossShow/BossShowModel.cs                 |    2 
 System/TreasureFindHost/TreasureFindHostWin.cs   |    8 
 System/TreasureFindHost/ReciveConditionCell.cs   |  118 ++++++--------
 6 files changed, 180 insertions(+), 274 deletions(-)

diff --git a/Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs b/Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs
deleted file mode 100644
index c099cfc..0000000
--- a/Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs
+++ /dev/null
@@ -1,899 +0,0 @@
-锘�#if USE_UNI_LUA
-using LuaAPI = UniLua.Lua;
-using RealStatePtr = UniLua.ILuaState;
-using LuaCSFunction = UniLua.CSharpFunctionDelegate;
-#else
-using LuaAPI = XLua.LuaDLL.Lua;
-using RealStatePtr = System.IntPtr;
-using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
-#endif
-
-using XLua;
-using System.Collections.Generic;
-
-
-namespace XLua.CSObjectWrap
-{
-    using Utils = XLua.Utils;
-    public class SnxxzUITreasureFindHostModelWrap 
-    {
-        public static void __Register(RealStatePtr L)
-        {
-			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			System.Type type = typeof(Snxxz.UI.TreasureFindHostModel);
-			Utils.BeginObjectRegister(type, L, translator, 0, 21, 7, 5);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnAfterPlayerDataInitialize", _m_OnAfterPlayerDataInitialize);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetFindTreasureInfoDict", _m_GetFindTreasureInfoDict);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsReachCondition", _m_IsReachCondition);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetFindTreasureInfo", _m_TryGetFindTreasureInfo);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsReachUnlock", _m_IsReachUnlock);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TreasureFindHostState", _m_TreasureFindHostState);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "CheckTreasureFindHostFinish", _m_CheckTreasureFindHostFinish);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsUnlockTreasure", _m_IsUnlockTreasure);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetSelectTreasureId", _m_SetSelectTreasureId);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetAdviceIdlist", _m_SetAdviceIdlist);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetServerAwardRecord", _m_GetServerAwardRecord);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "SendGetRewardQuest", _m_SendGetRewardQuest);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetTreasureCellRedKey", _m_SetTreasureCellRedKey);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetTreasureCellRedIdById", _m_GetTreasureCellRedIdById);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RedPointStateCtrl", _m_RedPointStateCtrl);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TreasureFindHostCompleteAct", _e_TreasureFindHostCompleteAct);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnCompletedAct", _e_OnCompletedAct);
-			
-			Utils.RegisterFunc(L, Utils.GETTER_IDX, "treasureIdlist", _g_get_treasureIdlist);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "specEquipIds", _g_get_specEquipIds);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "jumpTreasureId", _g_get_jumpTreasureId);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "SelectTreasureId", _g_get_SelectTreasureId);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "adviceIdlist", _g_get_adviceIdlist);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "mainTopRed", _g_get_mainTopRed);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "findHostRed", _g_get_findHostRed);
-            
-			Utils.RegisterFunc(L, Utils.SETTER_IDX, "treasureIdlist", _s_set_treasureIdlist);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "jumpTreasureId", _s_set_jumpTreasureId);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "adviceIdlist", _s_set_adviceIdlist);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "mainTopRed", _s_set_mainTopRed);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "findHostRed", _s_set_findHostRed);
-            
-			
-			Utils.EndObjectRegister(type, L, translator, null, null,
-			    null, null, null);
-
-		    Utils.BeginClassRegister(type, L, __CreateInstance, 3, 0, 0);
-			
-			
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "MainTop_RedKey", Snxxz.UI.TreasureFindHostModel.MainTop_RedKey);
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "TreasureFindHost_RedKey", Snxxz.UI.TreasureFindHostModel.TreasureFindHost_RedKey);
-            
-			
-			
-			
-			Utils.EndClassRegister(type, L, translator);
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int __CreateInstance(RealStatePtr L)
-        {
-            
-			try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-				if(LuaAPI.lua_gettop(L) == 1)
-				{
-					
-					Snxxz.UI.TreasureFindHostModel gen_ret = new Snxxz.UI.TreasureFindHostModel();
-					translator.Push(L, gen_ret);
-                    
-					return 1;
-				}
-				
-			}
-			catch(System.Exception gen_e) {
-				return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-			}
-            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.TreasureFindHostModel constructor!");
-            
-        }
-        
-		
-        
-		
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Init(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.Init(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_OnBeforePlayerDataInitialize(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.OnBeforePlayerDataInitialize(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_OnAfterPlayerDataInitialize(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.OnAfterPlayerDataInitialize(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_OnPlayerLoginOk(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.OnPlayerLoginOk(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_UnInit(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.UnInit(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetFindTreasureInfoDict(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.Dictionary<int, System.Collections.Generic.List<Snxxz.UI.FindTreasureInfo>> gen_ret = gen_to_be_invoked.GetFindTreasureInfoDict(  );
-                        translator.Push(L, gen_ret);
-                    
-                    
-                    
-                    return 1;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_IsReachCondition(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    Snxxz.UI.FindTreasureInfo _treasureInfo = (Snxxz.UI.FindTreasureInfo)translator.GetObject(L, 2, typeof(Snxxz.UI.FindTreasureInfo));
-                    int _progress;
-                    
-                        bool gen_ret = gen_to_be_invoked.IsReachCondition( _treasureInfo, out _progress );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    LuaAPI.xlua_pushinteger(L, _progress);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_TryGetFindTreasureInfo(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _findId = LuaAPI.xlua_tointeger(L, 2);
-                    Snxxz.UI.FindTreasureInfo _info;
-                    
-                        bool gen_ret = gen_to_be_invoked.TryGetFindTreasureInfo( _findId, out _info );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    translator.Push(L, _info);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_IsReachUnlock(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _treasureId = LuaAPI.xlua_tointeger(L, 2);
-                    int _progress;
-                    
-                        bool gen_ret = gen_to_be_invoked.IsReachUnlock( _treasureId, out _progress );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    LuaAPI.xlua_pushinteger(L, _progress);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_TreasureFindHostState(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.TreasureFindHostState(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_CheckTreasureFindHostFinish(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        bool gen_ret = gen_to_be_invoked.CheckTreasureFindHostFinish(  );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    
-                    
-                    
-                    return 1;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_IsUnlockTreasure(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _treasureId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsUnlockTreasure( _treasureId );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    
-                    
-                    
-                    return 1;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_SetSelectTreasureId(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _treasureId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                    gen_to_be_invoked.SetSelectTreasureId( _treasureId );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_SetAdviceIdlist(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    System.Collections.Generic.List<int> _idlist = (System.Collections.Generic.List<int>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<int>));
-                    
-                    gen_to_be_invoked.SetAdviceIdlist( _idlist );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetServerAwardRecord(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    HA348_tagMCXBXZAwardRecordList _awardRecord = (HA348_tagMCXBXZAwardRecordList)translator.GetObject(L, 2, typeof(HA348_tagMCXBXZAwardRecordList));
-                    
-                    gen_to_be_invoked.GetServerAwardRecord( _awardRecord );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_SendGetRewardQuest(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _id = LuaAPI.xlua_tointeger(L, 2);
-                    
-                    gen_to_be_invoked.SendGetRewardQuest( _id );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_SetTreasureCellRedKey(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.SetTreasureCellRedKey(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetTreasureCellRedIdById(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _treasureId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        int gen_ret = gen_to_be_invoked.GetTreasureCellRedIdById( _treasureId );
-                        LuaAPI.xlua_pushinteger(L, gen_ret);
-                    
-                    
-                    
-                    return 1;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_RedPointStateCtrl(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _treasureId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                    gen_to_be_invoked.RedPointStateCtrl( _treasureId );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_treasureIdlist(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.treasureIdlist);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_specEquipIds(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.specEquipIds);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_jumpTreasureId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.jumpTreasureId);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_SelectTreasureId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.SelectTreasureId);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_adviceIdlist(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.adviceIdlist);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_mainTopRed(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.mainTopRed);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_findHostRed(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.findHostRed);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_treasureIdlist(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.treasureIdlist = (System.Collections.Generic.List<int>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<int>));
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_jumpTreasureId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.jumpTreasureId = LuaAPI.xlua_tointeger(L, 2);
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_adviceIdlist(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.adviceIdlist = (System.Collections.Generic.List<int>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<int>));
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_mainTopRed(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.mainTopRed = (Snxxz.UI.Redpoint)translator.GetObject(L, 2, typeof(Snxxz.UI.Redpoint));
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_findHostRed(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.findHostRed = (Snxxz.UI.Redpoint)translator.GetObject(L, 2, typeof(Snxxz.UI.Redpoint));
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-		
-		
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_TreasureFindHostCompleteAct(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.TreasureFindHostCompleteAct += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.TreasureFindHostCompleteAct -= gen_delegate;
-						return 0;
-					} 
-					
-				}
-			} catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-			LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.TreasureFindHostModel.TreasureFindHostCompleteAct!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_OnCompletedAct(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.TreasureFindHostModel gen_to_be_invoked = (Snxxz.UI.TreasureFindHostModel)translator.FastGetCSObj(L, 1);
-                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.OnCompletedAct += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.OnCompletedAct -= gen_delegate;
-						return 0;
-					} 
-					
-				}
-			} catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-			LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.TreasureFindHostModel.OnCompletedAct!");
-            return 0;
-        }
-        
-		
-		
-    }
-}
diff --git a/Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs.meta b/Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs.meta
deleted file mode 100644
index eb59654..0000000
--- a/Lua/Gen/SnxxzUITreasureFindHostModelWrap.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 46f7e1d408789ee41a746a47b78d9480
-timeCreated: 1550120577
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Lua/Gen/XLuaGenAutoRegister.cs b/Lua/Gen/XLuaGenAutoRegister.cs
index 48923cb..bac9f38 100644
--- a/Lua/Gen/XLuaGenAutoRegister.cs
+++ b/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);
         
         
diff --git a/System/BossShow/BossShowModel.cs b/System/BossShow/BossShowModel.cs
index f51995c..5f549e2 100644
--- a/System/BossShow/BossShowModel.cs
+++ b/System/BossShow/BossShowModel.cs
@@ -134,7 +134,7 @@
             catch (Exception e)
             {
                 BossShowing = false;
-                Debug.LogError(e.Message);
+                Debug.LogError(e.Message + e.StackTrace);
             }
         }
 
diff --git a/System/TreasureFindHost/ReciveConditionCell.cs b/System/TreasureFindHost/ReciveConditionCell.cs
index 1ba764d..a456944 100644
--- a/System/TreasureFindHost/ReciveConditionCell.cs
+++ b/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);
                 }
             }
         }
-
-
     }
 }
diff --git a/System/TreasureFindHost/TreasureFindHostModel.cs b/System/TreasureFindHost/TreasureFindHostModel.cs
index ff3fd88..86bf13a 100644
--- a/System/TreasureFindHost/TreasureFindHostModel.cs
+++ b/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;
+    }
 }
diff --git a/System/TreasureFindHost/TreasureFindHostWin.cs b/System/TreasureFindHost/TreasureFindHostWin.cs
index c4c97d0..c6f0605 100644
--- a/System/TreasureFindHost/TreasureFindHostWin.cs
+++ b/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);
         }
 
     }

--
Gitblit v1.8.0