From 41a6e87783d042bf3e0ecebfa772443f2b5ed95d Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 06 六月 2019 17:22:55 +0800
Subject: [PATCH] 7132 【2.0】【开发】打宝界面优化2

---
 System/CrossServerBoss/CrossServerBossBreifInfoBehaviour.cs                                |   60 +-
 Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA714_tagMCNPCCntList.cs          |    2 
 System/FindPrecious/DemonJarModel.cs                                                       |   44 -
 System/FindPrecious/PersonalBossModel.cs                                                   |   19 
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA326_tagMCNPCIDCollectionCntInfo.cs |    8 
 System/FindPrecious/BossHomeWin.cs                                                         |   53 ++
 System/CrossServerBoss/CrossServerBossModel.cs                                             |  119 ++++--
 System/CrossServerBoss/CrossServerBossWin.cs                                               |   29 +
 System/FindPrecious/WorldBossWin.cs                                                        |   21 
 System/FindPrecious/ElderGodBreifInfoBehaviour.cs                                          |   31 -
 Lua/Gen/SnxxzUICrossServerBossModelWrap.cs                                                 |   10 
 System/FindPrecious/BossIntroduceBehaviour.cs                                              |    4 
 Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta                                      |    4 
 Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA904_tagGCDogzNPCRefreshTime.cs     |    3 
 System/FindPrecious/BossHomeBreifInfoBehaviour.cs                                          |   28 +
 Utility/ConfigInitiator.cs                                                                 |    1 
 System/FindPrecious/PersonalBossWin.cs                                                     |   19 
 Lua/Gen/DelegatesGensBridge.cs                                                             |   22 -
 System/FindPrecious/WorldBossModel.cs                                                      |   66 ---
 System/CrossServerBoss/CrossServerBossBoxBehaviour.cs                                      |    2 
 System/FindPrecious/WorldBossBreifInfoBehaviour.cs                                         |   43 --
 Lua/Gen/XLuaGenAutoRegister.cs                                                             |   14 
 Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta                                      |    4 
 Fight/MapTransferUtility.cs                                                                |    5 
 System/FindPrecious/ElderGodAreaWin.cs                                                     |   48 +
 System/FindPrecious/FindPreciousBossRebornBehaviour.cs                                     |   24 -
 System/MainInterfacePanel/MainInterfaceWin.cs                                              |    9 
 Core/NetworkPackage/ServerPack/HAF_Merge.meta                                              |    4 
 System/Achievement/AchievementGotoPart1.cs                                                 |    4 
 Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta                                       |    4 
 Utility/EnumHelper.cs                                                                      |    2 
 Lua/Gen/SnxxzUIWorldBossModelWrap.cs                                                       |   19 -
 Core/NetworkPackage/ServerPack/HAE_Truck.meta                                              |    4 
 Lua/Gen/EnumWrap.cs                                                                        |    6 
 System/FindPrecious/DemonJarBriefInfoBehaviour.cs                                          |   13 
 Core/NetworkPackage/ServerPack/HB0_Event.meta                                              |    4 
 System/FindPrecious/DemonJarWin.cs                                                         |   87 +--
 System/MainInterfacePanel/InGamePushContainer.cs                                           |    9 
 Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta                               |    4 
 Lua/Gen/Resources.meta                                                                     |    4 
 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B7_tagMCBOSSAttactCnt.cs          |    7 
 Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta                                      |    4 
 System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs                                  |   59 +-
 /dev/null                                                                                  |   12 
 System/FindPrecious/BossHomeModel.cs                                                       |   73 +++
 System/FindPrecious/FindPreciousModel.cs                                                   |   66 +++
 System/FindPrecious/ElderGodAreaModel.cs                                                   |   39 -
 System/FindPrecious/PersonalBossBriefInfoBehaviour.cs                                      |    8 
 System/WindowBase/ModelCenter.cs                                                           |    1 
 System/CrossServerBoss/CrossServerBossEliteMonsterBehaviour.cs                             |    2 
 50 files changed, 558 insertions(+), 569 deletions(-)

diff --git a/Core/GameEngine/Model/Config/DogzDungeonConfig.cs b/Core/GameEngine/Model/Config/DogzDungeonConfig.cs
deleted file mode 100644
index 70cb02b..0000000
--- a/Core/GameEngine/Model/Config/DogzDungeonConfig.cs
+++ /dev/null
@@ -1,222 +0,0 @@
-锘�//--------------------------------------------------------
-//    [Author]:           Fish
-//    [  Date ]:           Tuesday, June 04, 2019
-//--------------------------------------------------------
-
-using System.Collections.Generic;
-using System.IO;
-using System.Threading;
-using System;
-using UnityEngine;
-
-[XLua.LuaCallCSharp]
-public partial class DogzDungeonConfig
-{
-
-    public readonly int NPCID;
-	public readonly int MonsterType;
-	public readonly int[] RareItemID;
-	public readonly int[] NewItemIds;
-	public readonly string PortraitID;
-
-	public DogzDungeonConfig()
-    {
-    }
-
-    public DogzDungeonConfig(string input)
-    {
-        try
-        {
-            var tables = input.Split('\t');
-
-            int.TryParse(tables[0],out NPCID); 
-
-			int.TryParse(tables[1],out MonsterType); 
-
-			string[] RareItemIDStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-			RareItemID = new int[RareItemIDStringArray.Length];
-			for (int i=0;i<RareItemIDStringArray.Length;i++)
-			{
-				 int.TryParse(RareItemIDStringArray[i],out RareItemID[i]);
-			}
-
-			string[] NewItemIdsStringArray = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
-			NewItemIds = new int[NewItemIdsStringArray.Length];
-			for (int i=0;i<NewItemIdsStringArray.Length;i++)
-			{
-				 int.TryParse(NewItemIdsStringArray[i],out NewItemIds[i]);
-			}
-
-			PortraitID = tables[4];
-        }
-        catch (Exception ex)
-        {
-            DebugEx.Log(ex);
-        }
-    }
-
-    static Dictionary<string, DogzDungeonConfig> configs = new Dictionary<string, DogzDungeonConfig>();
-    public static DogzDungeonConfig Get(string id)
-    {   
-		if (!inited)
-        {
-            Debug.Log("DogzDungeonConfig 杩樻湭瀹屾垚鍒濆鍖栥��");
-            return null;
-        }
-		
-        if (configs.ContainsKey(id))
-        {
-            return configs[id];
-        }
-
-        DogzDungeonConfig config = null;
-        if (rawDatas.ContainsKey(id))
-        {
-            config = configs[id] = new DogzDungeonConfig(rawDatas[id]);
-            rawDatas.Remove(id);
-        }
-
-        return config;
-    }
-
-	public static DogzDungeonConfig Get(int id)
-    {
-        return Get(id.ToString());
-    }
-
-    public static List<string> GetKeys()
-    {
-        var keys = new List<string>();
-        keys.AddRange(configs.Keys);
-        keys.AddRange(rawDatas.Keys);
-        return keys;
-    }
-
-    public static List<DogzDungeonConfig> GetValues()
-    {
-        var values = new List<DogzDungeonConfig>();
-        values.AddRange(configs.Values);
-
-        var keys = new List<string>(rawDatas.Keys);
-        foreach (var key in keys)
-        {
-            values.Add(Get(key));
-        }
-
-        return values;
-    }
-
-	public static bool Has(string id)
-    {
-        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
-    }
-
-	public static bool Has(int id)
-    {
-        return Has(id.ToString());
-    }
-
-	public static bool inited { get; private set; }
-    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
-    public static void Init(bool sync=false)
-    {
-	    inited = false;
-		var path = string.Empty;
-        if (AssetSource.refdataFromEditor)
-        {
-            path = ResourcesPath.CONFIG_FODLER +"/DogzDungeon.txt";
-        }
-        else
-        {
-            path = AssetVersionUtility.GetAssetFilePath("config/DogzDungeon.txt");
-        }
-
-        configs.Clear();
-		var tempConfig = new DogzDungeonConfig();
-        var preParse = tempConfig is IConfigPostProcess;
-
-        if (sync)
-        {
-            var lines = File.ReadAllLines(path);
-            if (!preParse)
-            {
-                rawDatas = new Dictionary<string, string>(lines.Length - 3);
-            }
-            for (int i = 3; i < lines.Length; i++)
-            {
-				try 
-				{
-					var line = lines[i];
-					var index = line.IndexOf("\t");
-					if (index == -1)
-					{
-						continue;
-					}
-					var id = line.Substring(0, index);
-
-					if (preParse)
-					{
-						var config = new DogzDungeonConfig(line);
-						configs[id] = config;
-						(config as IConfigPostProcess).OnConfigParseCompleted();
-					}
-					else
-					{
-						rawDatas[id] = line;
-					}
-				}
-				catch (System.Exception ex)
-                {
-                    Debug.LogError(ex);
-                }
-            }
-			inited = true;
-        }
-        else
-        {
-            ThreadPool.QueueUserWorkItem((object _object) =>
-            {
-                var lines = File.ReadAllLines(path);
-				if (!preParse)
-				{
-					rawDatas = new Dictionary<string, string>(lines.Length - 3);
-				}
-                for (int i = 3; i < lines.Length; i++)
-                {
-					try 
-					{
-					   var line = lines[i];
-						var index = line.IndexOf("\t");
-						if (index == -1)
-						{
-							continue;
-						}
-						var id = line.Substring(0, index);
-
-						if (preParse)
-						{
-							var config = new DogzDungeonConfig(line);
-							configs[id] = config;
-							(config as IConfigPostProcess).OnConfigParseCompleted();
-						}
-						else
-						{
-							rawDatas[id] = line;
-						}
-					}
-					catch (System.Exception ex)
-                    {
-                        Debug.LogError(ex);
-                    }
-                }
-
-                inited = true;
-            });
-        }
-    }
-
-}
-
-
-
-
diff --git a/Core/GameEngine/Model/Config/DogzDungeonConfig.cs.meta b/Core/GameEngine/Model/Config/DogzDungeonConfig.cs.meta
deleted file mode 100644
index 4bedb2e..0000000
--- a/Core/GameEngine/Model/Config/DogzDungeonConfig.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 252f9a2cc60baa043b23e9dacbd9aeb1
-timeCreated: 1559654324
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA326_tagMCNPCIDCollectionCntInfo.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA326_tagMCNPCIDCollectionCntInfo.cs
index e53ec65..da9e19c 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA326_tagMCNPCIDCollectionCntInfo.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA326_tagMCNPCIDCollectionCntInfo.cs
@@ -11,8 +11,7 @@
 public class DTCA326_tagMCNPCIDCollectionCntInfo : DtcBasic
 {
 
-    DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
-    CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
+    CrossServerBossModel model { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
 
     public override void Done(GameNetPackBasic vNetPack)
     {
@@ -25,16 +24,15 @@
         for (int i = 0; i < package.NPCCollCntList.Length; i++)
         {
             var collect = package.NPCCollCntList[i];
-            if (collect.NPCID == model.bigBoxNpcId || collect.NPCID == crossServerBossModel.bigBoxNpcId)
+            if (collect.NPCID == model.bigBoxNpcId)
             {
                 bigBoxCollectCount += collect.CollectionCnt;
             }
 
-            if (collect.NPCID == model.smallBoxNpcId || collect.NPCID == crossServerBossModel.smallBoxNpcId)
+            if (collect.NPCID == model.smallBoxNpcId)
             {
                 smallBoxCollectCount += collect.CollectionCnt;
             }
-
         }
 
         ModelCenter.Instance.GetModel<DungeonModel>().UpdateDungeonCollectNpcInfo(package);
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B7_tagMCBOSSAttactCnt.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B7_tagMCBOSSAttactCnt.cs
index b3c2f93..99ffa99 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B7_tagMCBOSSAttactCnt.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B7_tagMCBOSSAttactCnt.cs
@@ -14,7 +14,7 @@
 {
     WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
     BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
-    DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
+    CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
 
     public override void Done(GameNetPackBasic vNetPack)
     {
@@ -30,8 +30,11 @@
                     worldBossModel.wearyValue = (int)info.KillCnt;
                     worldBossModel.extraBossWearyValue = (int)info.ItemAddCnt;
                     break;
+                case 1:
+                    bossHomeModel.wearyValue = (int)info.KillCnt;
+                    break;
                 case 2:
-                    dogzDungeonModel.wearyValue = (int)info.KillCnt;
+                    crossServerBossModel.wearyValue = (int)info.KillCnt;
                     break;
             }
         }
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA714_tagMCNPCCntList.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA714_tagMCNPCCntList.cs
index a75b017..d0aa11e 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA714_tagMCNPCCntList.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA714_tagMCNPCCntList.cs
@@ -10,7 +10,6 @@
 
 public class DTCA714_tagMCNPCCntList : DtcBasic {
 
-    DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
     CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
 
     public override void Done(GameNetPackBasic vNetPack)
@@ -18,7 +17,6 @@
         base.Done(vNetPack);
         var package = vNetPack as HA714_tagMCNPCCntList;
 
-        model.UpdateMonsterSurplusInfo(package);
         crossServerBossModel.UpdateMonsterSurplusInfo(package);
         ModelCenter.Instance.GetModel<HazyGrassModel>().ReceivePackage(package);
     }
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA904_tagGCDogzNPCRefreshTime.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA904_tagGCDogzNPCRefreshTime.cs
index c7326d6..d7b3ccb 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA904_tagGCDogzNPCRefreshTime.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA904_tagGCDogzNPCRefreshTime.cs
@@ -10,15 +10,12 @@
 
 public class DTCA904_tagGCDogzNPCRefreshTime : DtcBasic
 {
-
-    DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
     CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
 
     public override void Done(GameNetPackBasic vNetPack)
     {
         base.Done(vNetPack);
         var package = vNetPack as HA904_tagGCDogzNPCRefreshTime;
-        model.UpdateBoxOrEliteRefreshTime(package);
         crossServerBossModel.UpdateBoxOrEliteRefreshTime(package);
     }
 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
index 652fdb8..56e5988 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAD_SaleActivity.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: 3e05761d690b75440a6be79207d0fb01
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
index 652fdb8..1044caa 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAE_Truck.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: 1d70ccd06161e0443b7a802ad94292f8
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
similarity index 66%
rename from System/DogzDungeon.meta
rename to Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
index 652fdb8..314efd1 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HAF_Merge.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: 71e878ac60c49ad4f964dd2dbc725739
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
index 652fdb8..6ed37c0 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: eed34091b0568664b9fb42f0634496c1
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
index 652fdb8..418ee88 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/ServerPack/HAD_SaleActivity.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: 32ceb8b7faf99f84a8b73ce53c5e3e4d
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/ServerPack/HAE_Truck.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/ServerPack/HAE_Truck.meta
index 652fdb8..ea614a3 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/ServerPack/HAE_Truck.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: 77f69c2b862d1704299a32d0d8eeb71e
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/ServerPack/HAF_Merge.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/ServerPack/HAF_Merge.meta
index 652fdb8..86e4eea 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/ServerPack/HAF_Merge.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: fa14960fa44b0d1439bab471a764e34f
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/System/DogzDungeon.meta b/Core/NetworkPackage/ServerPack/HB0_Event.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Core/NetworkPackage/ServerPack/HB0_Event.meta
index 652fdb8..95487fc 100644
--- a/System/DogzDungeon.meta
+++ b/Core/NetworkPackage/ServerPack/HB0_Event.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: d914565b65f8e8145988734c4d915834
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1547643019
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/Fight/MapTransferUtility.cs b/Fight/MapTransferUtility.cs
index 67777f6..d00a08b 100644
--- a/Fight/MapTransferUtility.cs
+++ b/Fight/MapTransferUtility.cs
@@ -578,14 +578,13 @@
         GActor _npc = null;
         // 鍔犲叆鍒ゆ柇鏄惁涓栫晫BOSS鍒ゆ柇
         var isWorldBoss = WorldBossConfig.Has(npcID);
-        var isDogzBoss = DogzDungeonConfig.Has(npcID);
         var isCrossServerBoss = CrossServerBossConfig.Has(npcID);
 
         if (_findLocation)
         {
             var _mapConfig = MapConfig.Get(_npcLocation.mapId);
             // 涓珛鍦板浘
-            if (_mapConfig.Camp == 5 && (isWorldBoss || isDogzBoss || isCrossServerBoss))
+            if (_mapConfig.Camp == 5 && (isWorldBoss ||  isCrossServerBoss))
             {
                 if (_npcLocation.mapId == PlayerDatas.Instance.baseData.MapID)
                 {
@@ -615,7 +614,7 @@
             }
         }
 
-        bool _isBoss = isWorldBoss || isDogzBoss || isCrossServerBoss;
+        bool _isBoss = isWorldBoss ||  isCrossServerBoss;
         if (_isBoss && _findLocation)
         {
             // Debug.LogFormat("鐩爣鏄痓oss");
diff --git a/Lua/Gen/DelegatesGensBridge.cs b/Lua/Gen/DelegatesGensBridge.cs
index c24867a..9fb7ecf 100644
--- a/Lua/Gen/DelegatesGensBridge.cs
+++ b/Lua/Gen/DelegatesGensBridge.cs
@@ -689,28 +689,6 @@
 #endif
 		}
         
-		public Snxxz.UI.DogzDungeonModel __Gen_Delegate_Imp30(object p0)
-		{
-#if THREAD_SAFE || HOTFIX_ENABLE
-            lock (luaEnv.luaEnvLock)
-            {
-#endif
-                RealStatePtr L = luaEnv.rawL;
-                int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
-                ObjectTranslator translator = luaEnv.translator;
-                translator.PushAny(L, p0);
-                
-                PCall(L, 1, 1, errFunc);
-                
-                
-                Snxxz.UI.DogzDungeonModel __gen_ret = (Snxxz.UI.DogzDungeonModel)translator.GetObject(L, errFunc + 1, typeof(Snxxz.UI.DogzDungeonModel));
-                LuaAPI.lua_settop(L, errFunc - 1);
-                return  __gen_ret;
-#if THREAD_SAFE || HOTFIX_ENABLE
-            }
-#endif
-		}
-        
 		public Snxxz.UI.TeamModel __Gen_Delegate_Imp31(object p0)
 		{
 #if THREAD_SAFE || HOTFIX_ENABLE
diff --git a/Lua/Gen/DogzDungeonConfigWrap.cs b/Lua/Gen/DogzDungeonConfigWrap.cs
deleted file mode 100644
index 96aa4e4..0000000
--- a/Lua/Gen/DogzDungeonConfigWrap.cs
+++ /dev/null
@@ -1,342 +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 DogzDungeonConfigWrap 
-    {
-        public static void __Register(RealStatePtr L)
-        {
-			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			System.Type type = typeof(DogzDungeonConfig);
-			Utils.BeginObjectRegister(type, L, translator, 0, 0, 4, 0);
-			
-			
-			
-			Utils.RegisterFunc(L, Utils.GETTER_IDX, "NPCID", _g_get_NPCID);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "MonsterType", _g_get_MonsterType);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "RareItemID", _g_get_RareItemID);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "PortraitID", _g_get_PortraitID);
-            
-			
-			
-			Utils.EndObjectRegister(type, L, translator, null, null,
-			    null, null, null);
-
-		    Utils.BeginClassRegister(type, L, __CreateInstance, 6, 1, 0);
-			Utils.RegisterFunc(L, Utils.CLS_IDX, "Get", _m_Get_xlua_st_);
-            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetKeys", _m_GetKeys_xlua_st_);
-            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetValues", _m_GetValues_xlua_st_);
-            Utils.RegisterFunc(L, Utils.CLS_IDX, "Has", _m_Has_xlua_st_);
-            Utils.RegisterFunc(L, Utils.CLS_IDX, "Init", _m_Init_xlua_st_);
-            
-			
-            
-			Utils.RegisterFunc(L, Utils.CLS_GETTER_IDX, "inited", _g_get_inited);
-            
-			
-			
-			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)
-				{
-					
-					DogzDungeonConfig gen_ret = new DogzDungeonConfig();
-					translator.Push(L, gen_ret);
-                    
-					return 1;
-				}
-				if(LuaAPI.lua_gettop(L) == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
-				{
-					string _input = LuaAPI.lua_tostring(L, 2);
-					
-					DogzDungeonConfig gen_ret = new DogzDungeonConfig(_input);
-					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 DogzDungeonConfig constructor!");
-            
-        }
-        
-		
-        
-		
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Get_xlua_st_(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-            
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-            
-                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)) 
-                {
-                    int _id = LuaAPI.xlua_tointeger(L, 1);
-                    
-                        DogzDungeonConfig gen_ret = DogzDungeonConfig.Get( _id );
-                        translator.Push(L, gen_ret);
-                    
-                    
-                    
-                    return 1;
-                }
-                if(gen_param_count == 1&& (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING)) 
-                {
-                    string _id = LuaAPI.lua_tostring(L, 1);
-                    
-                        DogzDungeonConfig gen_ret = DogzDungeonConfig.Get( _id );
-                        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 DogzDungeonConfig.Get!");
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetKeys_xlua_st_(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<string> gen_ret = DogzDungeonConfig.GetKeys(  );
-                        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_GetValues_xlua_st_(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<DogzDungeonConfig> gen_ret = DogzDungeonConfig.GetValues(  );
-                        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_Has_xlua_st_(RealStatePtr L)
-        {
-		    try {
-            
-            
-            
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-            
-                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)) 
-                {
-                    int _id = LuaAPI.xlua_tointeger(L, 1);
-                    
-                        bool gen_ret = DogzDungeonConfig.Has( _id );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    
-                    
-                    
-                    return 1;
-                }
-                if(gen_param_count == 1&& (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING)) 
-                {
-                    string _id = LuaAPI.lua_tostring(L, 1);
-                    
-                        bool gen_ret = DogzDungeonConfig.Has( _id );
-                        LuaAPI.lua_pushboolean(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 DogzDungeonConfig.Has!");
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Init_xlua_st_(RealStatePtr L)
-        {
-		    try {
-            
-            
-            
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-            
-                if(gen_param_count == 1&& LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1)) 
-                {
-                    bool _sync = LuaAPI.lua_toboolean(L, 1);
-                    
-                    DogzDungeonConfig.Init( _sync );
-                    
-                    
-                    
-                    return 0;
-                }
-                if(gen_param_count == 0) 
-                {
-                    
-                    DogzDungeonConfig.Init(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-            return LuaAPI.luaL_error(L, "invalid arguments to DogzDungeonConfig.Init!");
-            
-        }
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_inited(RealStatePtr L)
-        {
-		    try {
-            
-			    LuaAPI.lua_pushboolean(L, DogzDungeonConfig.inited);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_NPCID(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                DogzDungeonConfig gen_to_be_invoked = (DogzDungeonConfig)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.NPCID);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_MonsterType(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                DogzDungeonConfig gen_to_be_invoked = (DogzDungeonConfig)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.MonsterType);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_RareItemID(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                DogzDungeonConfig gen_to_be_invoked = (DogzDungeonConfig)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.RareItemID);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_PortraitID(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                DogzDungeonConfig gen_to_be_invoked = (DogzDungeonConfig)translator.FastGetCSObj(L, 1);
-                LuaAPI.lua_pushstring(L, gen_to_be_invoked.PortraitID);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        
-        
-		
-		
-		
-		
-    }
-}
diff --git a/Lua/Gen/DogzDungeonConfigWrap.cs.meta b/Lua/Gen/DogzDungeonConfigWrap.cs.meta
deleted file mode 100644
index f9e2fcb..0000000
--- a/Lua/Gen/DogzDungeonConfigWrap.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: b41b7af1864d77849a97cb050bf6c3b6
-timeCreated: 1557818445
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Lua/Gen/EnumWrap.cs b/Lua/Gen/EnumWrap.cs
index 062b145..6d56b11 100644
--- a/Lua/Gen/EnumWrap.cs
+++ b/Lua/Gen/EnumWrap.cs
@@ -6126,8 +6126,6 @@
             
             Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DemonJar", FindPreciousType.DemonJar);
             
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DogzDungeon", FindPreciousType.DogzDungeon);
-            
             Utils.RegisterObject(L, translator, Utils.CLS_IDX, "CrossServerBoss", FindPreciousType.CrossServerBoss);
             
             Utils.RegisterObject(L, translator, Utils.CLS_IDX, "JadeDynastyBoss", FindPreciousType.JadeDynastyBoss);
@@ -6170,10 +6168,6 @@
 				else if (LuaAPI.xlua_is_eq_str(L, 1, "DemonJar"))
                 {
                     translator.PushFindPreciousType(L, FindPreciousType.DemonJar);
-                }
-				else if (LuaAPI.xlua_is_eq_str(L, 1, "DogzDungeon"))
-                {
-                    translator.PushFindPreciousType(L, FindPreciousType.DogzDungeon);
                 }
 				else if (LuaAPI.xlua_is_eq_str(L, 1, "CrossServerBoss"))
                 {
diff --git a/System/DogzDungeon.meta b/Lua/Gen/Resources.meta
similarity index 66%
copy from System/DogzDungeon.meta
copy to Lua/Gen/Resources.meta
index 652fdb8..10f4415 100644
--- a/System/DogzDungeon.meta
+++ b/Lua/Gen/Resources.meta
@@ -1,7 +1,7 @@
 fileFormatVersion: 2
-guid: 52a985f55841d694dac464804eae545e
+guid: 2a460c5e1b7a1b74cab84494289095f0
 folderAsset: yes
-timeCreated: 1534559436
+timeCreated: 1558410732
 licenseType: Pro
 DefaultImporter:
   userData: 
diff --git a/Lua/Gen/SnxxzUICrossServerBossModelWrap.cs b/Lua/Gen/SnxxzUICrossServerBossModelWrap.cs
index b95e2c1..a8ea055 100644
--- a/Lua/Gen/SnxxzUICrossServerBossModelWrap.cs
+++ b/Lua/Gen/SnxxzUICrossServerBossModelWrap.cs
@@ -382,7 +382,7 @@
                 
                 {
                     
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetBosses(  );
+                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetShowBosses(  );
                         translator.Push(L, gen_ret);
                     
                     
@@ -780,7 +780,7 @@
                 ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
 			
                 Snxxz.UI.CrossServerBossModel gen_to_be_invoked = (Snxxz.UI.CrossServerBossModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.dogzDungeonBox);
+                translator.Push(L, gen_to_be_invoked.boxInfo);
             } catch(System.Exception gen_e) {
                 return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
             }
@@ -794,7 +794,7 @@
                 ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
 			
                 Snxxz.UI.CrossServerBossModel gen_to_be_invoked = (Snxxz.UI.CrossServerBossModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.dogzDungeonElite);
+                translator.Push(L, gen_to_be_invoked.eliteInfo);
             } catch(System.Exception gen_e) {
                 return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
             }
@@ -884,7 +884,7 @@
                 ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
 			
                 Snxxz.UI.CrossServerBossModel gen_to_be_invoked = (Snxxz.UI.CrossServerBossModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.dogzDungeonBox = (Snxxz.UI.DogzDungeonBox)translator.GetObject(L, 2, typeof(Snxxz.UI.DogzDungeonBox));
+                gen_to_be_invoked.boxInfo = (Snxxz.UI.CrossServerBossBox)translator.GetObject(L, 2, typeof(Snxxz.UI.CrossServerBossBox));
             
             } catch(System.Exception gen_e) {
                 return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
@@ -899,7 +899,7 @@
                 ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
 			
                 Snxxz.UI.CrossServerBossModel gen_to_be_invoked = (Snxxz.UI.CrossServerBossModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.dogzDungeonElite = (Snxxz.UI.DogzDungeonElite)translator.GetObject(L, 2, typeof(Snxxz.UI.DogzDungeonElite));
+                gen_to_be_invoked.eliteInfo = (Snxxz.UI.CrossServerBossElite)translator.GetObject(L, 2, typeof(Snxxz.UI.CrossServerBossElite));
             
             } catch(System.Exception gen_e) {
                 return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
diff --git a/Lua/Gen/SnxxzUIDemonJarModelWrap.cs b/Lua/Gen/SnxxzUIDemonJarModelWrap.cs
deleted file mode 100644
index d3731d6..0000000
--- a/Lua/Gen/SnxxzUIDemonJarModelWrap.cs
+++ /dev/null
@@ -1,1060 +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 SnxxzUIDemonJarModelWrap 
-    {
-        public static void __Register(RealStatePtr L)
-        {
-			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			System.Type type = typeof(Snxxz.UI.DemonJarModel);
-			Utils.BeginObjectRegister(type, L, translator, 0, 23, 9, 9);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
-			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, "OnSwitchAccount", _m_OnSwitchAccount);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetBossData", _m_TryGetBossData);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequestSetDoubleAward", _m_RequestSetDoubleAward);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetDemonJarBosses", _m_GetDemonJarBosses);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetBossIdByLine", _m_GetBossIdByLine);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsBossUnLocked", _m_IsBossUnLocked);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetLatestUnLockBoss", _m_GetLatestUnLockBoss);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetSurplusTimes", _m_GetSurplusTimes);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsPersonalBoss", _m_IsPersonalBoss);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetFakeBossKillRecords", _m_GetFakeBossKillRecords);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateAutoChallengeLogs", _m_UpdateAutoChallengeLogs);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "AddAutoChallengeLog", _m_AddAutoChallengeLog);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetAutoChallengeLogs", _m_GetAutoChallengeLogs);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateDemonJarSoul", _m_UpdateDemonJarSoul);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "bossSelectedEvent", _e_bossSelectedEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "participantChangeEvent", _e_participantChangeEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "doubleAwardChangeEvent", _e_doubleAwardChangeEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "autoChallengeChangeEvent", _e_autoChallengeChangeEvent);
-			
-			Utils.RegisterFunc(L, Utils.GETTER_IDX, "isDoubleAward", _g_get_isDoubleAward);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "autoChallenge", _g_get_autoChallenge);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "autoChallengeBoss", _g_get_autoChallengeBoss);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "doubleToKillLowerBossHint", _g_get_doubleToKillLowerBossHint);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedBoss", _g_get_selectedBoss);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "demonJarSoulIncreaseDelta", _g_get_demonJarSoulIncreaseDelta);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "redpoint", _g_get_redpoint);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "oldDouble", _g_get_oldDouble);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "lockSelectedBoss", _g_get_lockSelectedBoss);
-            
-			Utils.RegisterFunc(L, Utils.SETTER_IDX, "isDoubleAward", _s_set_isDoubleAward);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "autoChallenge", _s_set_autoChallenge);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "autoChallengeBoss", _s_set_autoChallengeBoss);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "doubleToKillLowerBossHint", _s_set_doubleToKillLowerBossHint);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectedBoss", _s_set_selectedBoss);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "demonJarSoulIncreaseDelta", _s_set_demonJarSoulIncreaseDelta);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "redpoint", _s_set_redpoint);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "oldDouble", _s_set_oldDouble);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "lockSelectedBoss", _s_set_lockSelectedBoss);
-            
-			
-			Utils.EndObjectRegister(type, L, translator, null, null,
-			    null, null, null);
-
-		    Utils.BeginClassRegister(type, L, __CreateInstance, 5, 0, 0);
-			
-			
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "TOTALTIME_LIMIT", Snxxz.UI.DemonJarModel.TOTALTIME_LIMIT);
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "SINGLEMAPID", Snxxz.UI.DemonJarModel.SINGLEMAPID);
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DATA_MAPID", Snxxz.UI.DemonJarModel.DATA_MAPID);
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DEMONJAR_REDPOINTID", Snxxz.UI.DemonJarModel.DEMONJAR_REDPOINTID);
-            
-			
-			
-			
-			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.DemonJarModel gen_ret = new Snxxz.UI.DemonJarModel();
-					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.DemonJarModel constructor!");
-            
-        }
-        
-		
-        
-		
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Init(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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_UnInit(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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_OnBeforePlayerDataInitialize(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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_OnSwitchAccount(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.OnSwitchAccount(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_TryGetBossData(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    Snxxz.UI.DemonJarBossData __data;
-                    
-                        bool gen_ret = gen_to_be_invoked.TryGetBossData( __bossId, out __data );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    translator.Push(L, __data);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_RequestSetDoubleAward(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    bool __double = LuaAPI.lua_toboolean(L, 2);
-                    
-                    gen_to_be_invoked.RequestSetDoubleAward( __double );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetDemonJarBosses(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetDemonJarBosses(  );
-                        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_GetBossIdByLine(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __line = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        int gen_ret = gen_to_be_invoked.GetBossIdByLine( __line );
-                        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_IsBossUnLocked(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsBossUnLocked( __bossId );
-                        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_GetLatestUnLockBoss(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetLatestUnLockBoss(  );
-                        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_GetSurplusTimes(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetSurplusTimes(  );
-                        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_IsPersonalBoss(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsPersonalBoss( __bossId );
-                        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_GetFakeBossKillRecords(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        System.Collections.Generic.List<Snxxz.UI.DemonJarModel.FakeBossKillRecord> gen_ret = gen_to_be_invoked.GetFakeBossKillRecords( __bossId );
-                        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_UpdateAutoChallengeLogs(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.UpdateAutoChallengeLogs(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_AddAutoChallengeLog(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _bossId = LuaAPI.xlua_tointeger(L, 2);
-                    bool _isDouble = LuaAPI.lua_toboolean(L, 3);
-                    int _rank = LuaAPI.xlua_tointeger(L, 4);
-                    
-                    gen_to_be_invoked.AddAutoChallengeLog( _bossId, _isDouble, _rank );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetAutoChallengeLogs(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<Snxxz.UI.DemonJarModel.AutoChallengeLog> gen_ret = gen_to_be_invoked.GetAutoChallengeLogs(  );
-                        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_UpdateDemonJarSoul(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.UpdateDemonJarSoul(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_isDoubleAward(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.isDoubleAward);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_autoChallenge(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.autoChallenge);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_autoChallengeBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.autoChallengeBoss);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_doubleToKillLowerBossHint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.doubleToKillLowerBossHint);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.selectedBoss);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_demonJarSoulIncreaseDelta(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.demonJarSoulIncreaseDelta);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_redpoint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.redpoint);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_oldDouble(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.oldDouble);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_lockSelectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.lockSelectedBoss);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_isDoubleAward(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.isDoubleAward = LuaAPI.lua_toboolean(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_autoChallenge(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.autoChallenge = LuaAPI.lua_toboolean(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_autoChallengeBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.autoChallengeBoss = 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_doubleToKillLowerBossHint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.doubleToKillLowerBossHint = LuaAPI.lua_toboolean(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_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.selectedBoss = 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_demonJarSoulIncreaseDelta(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.demonJarSoulIncreaseDelta = 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_redpoint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.redpoint = (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_oldDouble(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.oldDouble = LuaAPI.lua_toboolean(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_lockSelectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.lockSelectedBoss = LuaAPI.lua_toboolean(L, 2);
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-		
-		
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_bossSelectedEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.bossSelectedEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.bossSelectedEvent -= 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.DemonJarModel.bossSelectedEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_participantChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)translator.FastGetCSObj(L, 1);
-                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.participantChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.participantChangeEvent -= 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.DemonJarModel.participantChangeEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_doubleAwardChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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.doubleAwardChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.doubleAwardChangeEvent -= 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.DemonJarModel.doubleAwardChangeEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_autoChallengeChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DemonJarModel gen_to_be_invoked = (Snxxz.UI.DemonJarModel)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.autoChallengeChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.autoChallengeChangeEvent -= 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.DemonJarModel.autoChallengeChangeEvent!");
-            return 0;
-        }
-        
-		
-		
-    }
-}
diff --git a/Lua/Gen/SnxxzUIDemonJarModelWrap.cs.meta b/Lua/Gen/SnxxzUIDemonJarModelWrap.cs.meta
deleted file mode 100644
index 7721eb7..0000000
--- a/Lua/Gen/SnxxzUIDemonJarModelWrap.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 5edbe737255f1784583ec5398d3336d6
-timeCreated: 1557818436
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Lua/Gen/SnxxzUIDogzDungeonModelWrap.cs b/Lua/Gen/SnxxzUIDogzDungeonModelWrap.cs
deleted file mode 100644
index 23f5e1d..0000000
--- a/Lua/Gen/SnxxzUIDogzDungeonModelWrap.cs
+++ /dev/null
@@ -1,976 +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 SnxxzUIDogzDungeonModelWrap 
-    {
-        public static void __Register(RealStatePtr L)
-        {
-			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			System.Type type = typeof(Snxxz.UI.DogzDungeonModel);
-			Utils.BeginObjectRegister(type, L, translator, 0, 19, 10, 10);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetBossData", _m_TryGetBossData);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetNpcIds", _m_GetNpcIds);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetBosses", _m_GetBosses);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetRecommendNpc", _m_GetRecommendNpc);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetRecommendKillElite", _m_GetRecommendKillElite);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsBossUnLocked", _m_IsBossUnLocked);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequestBoxAndEliteSurplusInfo", _m_RequestBoxAndEliteSurplusInfo);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequestBoxSurplusInfo", _m_RequestBoxSurplusInfo);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequestEliteSurplusInfo", _m_RequestEliteSurplusInfo);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateMonsterSurplusInfo", _m_UpdateMonsterSurplusInfo);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateBoxOrEliteRefreshTime", _m_UpdateBoxOrEliteRefreshTime);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "bossSelectedEvent", _e_bossSelectedEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "bossWearyValueChangeEvent", _e_bossWearyValueChangeEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "bigBoxCollectCountChangeEvent", _e_bigBoxCollectCountChangeEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "boxSurplusChangeEvent", _e_boxSurplusChangeEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "eliteSurplusChangeEvent", _e_eliteSurplusChangeEvent);
-			
-			Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedBoss", _g_get_selectedBoss);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "wearyValue", _g_get_wearyValue);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "bigBoxCollectCount", _g_get_bigBoxCollectCount);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "smallBoxCollectCount", _g_get_smallBoxCollectCount);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "dogzDungeonBox", _g_get_dogzDungeonBox);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "dogzDungeonElite", _g_get_dogzDungeonElite);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "redpoint", _g_get_redpoint);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "bigBoxNpcId", _g_get_bigBoxNpcId);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "smallBoxNpcId", _g_get_smallBoxNpcId);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "eliteMonsters", _g_get_eliteMonsters);
-            
-			Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectedBoss", _s_set_selectedBoss);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "wearyValue", _s_set_wearyValue);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "bigBoxCollectCount", _s_set_bigBoxCollectCount);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "smallBoxCollectCount", _s_set_smallBoxCollectCount);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "dogzDungeonBox", _s_set_dogzDungeonBox);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "dogzDungeonElite", _s_set_dogzDungeonElite);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "redpoint", _s_set_redpoint);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "bigBoxNpcId", _s_set_bigBoxNpcId);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "smallBoxNpcId", _s_set_smallBoxNpcId);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "eliteMonsters", _s_set_eliteMonsters);
-            
-			
-			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, "DOGZDUNGEON_REDPOINT", Snxxz.UI.DogzDungeonModel.DOGZDUNGEON_REDPOINT);
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DATA_MAPID", Snxxz.UI.DogzDungeonModel.DATA_MAPID);
-            
-			
-			
-			
-			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.DogzDungeonModel gen_ret = new Snxxz.UI.DogzDungeonModel();
-					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.DogzDungeonModel constructor!");
-            
-        }
-        
-		
-        
-		
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Init(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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_UnInit(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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_TryGetBossData(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    Snxxz.UI.DogzDungeonBossData __data;
-                    
-                        bool gen_ret = gen_to_be_invoked.TryGetBossData( __bossId, out __data );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    translator.Push(L, __data);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetNpcIds(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetNpcIds(  );
-                        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_GetBosses(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetBosses(  );
-                        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_GetRecommendNpc(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetRecommendNpc(  );
-                        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_GetRecommendKillElite(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetRecommendKillElite(  );
-                        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_IsBossUnLocked(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsBossUnLocked( __bossId );
-                        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_RequestBoxAndEliteSurplusInfo(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.RequestBoxAndEliteSurplusInfo(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_RequestBoxSurplusInfo(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.RequestBoxSurplusInfo(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_RequestEliteSurplusInfo(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.RequestEliteSurplusInfo(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_UpdateMonsterSurplusInfo(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    HA714_tagMCNPCCntList __npcInfoes = (HA714_tagMCNPCCntList)translator.GetObject(L, 2, typeof(HA714_tagMCNPCCntList));
-                    
-                    gen_to_be_invoked.UpdateMonsterSurplusInfo( __npcInfoes );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_UpdateBoxOrEliteRefreshTime(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    HA904_tagGCDogzNPCRefreshTime __refreshTimes = (HA904_tagGCDogzNPCRefreshTime)translator.GetObject(L, 2, typeof(HA904_tagGCDogzNPCRefreshTime));
-                    
-                    gen_to_be_invoked.UpdateBoxOrEliteRefreshTime( __refreshTimes );
-                    
-                    
-                    
-                    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.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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 _g_get_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.selectedBoss);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_wearyValue(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.wearyValue);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_bigBoxCollectCount(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.bigBoxCollectCount);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_smallBoxCollectCount(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.smallBoxCollectCount);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_dogzDungeonBox(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.dogzDungeonBox);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_dogzDungeonElite(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.dogzDungeonElite);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_redpoint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.redpoint);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_bigBoxNpcId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.bigBoxNpcId);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_smallBoxNpcId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.smallBoxNpcId);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_eliteMonsters(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.eliteMonsters);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.selectedBoss = 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_wearyValue(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.wearyValue = 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_bigBoxCollectCount(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.bigBoxCollectCount = 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_smallBoxCollectCount(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.smallBoxCollectCount = 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_dogzDungeonBox(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.dogzDungeonBox = (Snxxz.UI.DogzDungeonBox)translator.GetObject(L, 2, typeof(Snxxz.UI.DogzDungeonBox));
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_dogzDungeonElite(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.dogzDungeonElite = (Snxxz.UI.DogzDungeonElite)translator.GetObject(L, 2, typeof(Snxxz.UI.DogzDungeonElite));
-            
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_redpoint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.redpoint = (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_bigBoxNpcId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.bigBoxNpcId = 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_smallBoxNpcId(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.smallBoxNpcId = 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_eliteMonsters(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.eliteMonsters = (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 _e_bossSelectedEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)translator.FastGetCSObj(L, 1);
-                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.bossSelectedEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.bossSelectedEvent -= 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.DogzDungeonModel.bossSelectedEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_bossWearyValueChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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.bossWearyValueChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.bossWearyValueChangeEvent -= 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.DogzDungeonModel.bossWearyValueChangeEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_bigBoxCollectCountChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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.bigBoxCollectCountChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.bigBoxCollectCountChangeEvent -= 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.DogzDungeonModel.bigBoxCollectCountChangeEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_boxSurplusChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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.boxSurplusChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.boxSurplusChangeEvent -= 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.DogzDungeonModel.boxSurplusChangeEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_eliteSurplusChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.DogzDungeonModel gen_to_be_invoked = (Snxxz.UI.DogzDungeonModel)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.eliteSurplusChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.eliteSurplusChangeEvent -= 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.DogzDungeonModel.eliteSurplusChangeEvent!");
-            return 0;
-        }
-        
-		
-		
-    }
-}
diff --git a/Lua/Gen/SnxxzUIDogzDungeonModelWrap.cs.meta b/Lua/Gen/SnxxzUIDogzDungeonModelWrap.cs.meta
deleted file mode 100644
index d6ae1c5..0000000
--- a/Lua/Gen/SnxxzUIDogzDungeonModelWrap.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 7881ddb65559fe842bb21a77aab3832d
-timeCreated: 1557818439
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Lua/Gen/SnxxzUIElderGodAreaModelWrap.cs b/Lua/Gen/SnxxzUIElderGodAreaModelWrap.cs
deleted file mode 100644
index b74983c..0000000
--- a/Lua/Gen/SnxxzUIElderGodAreaModelWrap.cs
+++ /dev/null
@@ -1,524 +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 SnxxzUIElderGodAreaModelWrap 
-    {
-        public static void __Register(RealStatePtr L)
-        {
-			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			System.Type type = typeof(Snxxz.UI.ElderGodAreaModel);
-			Utils.BeginObjectRegister(type, L, translator, 0, 13, 2, 1);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetBossData", _m_TryGetBossData);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsElderGodAreaNPC", _m_IsElderGodAreaNPC);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetElderGodAreaNPCAnger", _m_GetElderGodAreaNPCAnger);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsBossUnLocked", _m_IsBossUnLocked);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetElderGodNpces", _m_GetElderGodNpces);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetElderGodBosses", _m_GetElderGodBosses);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetRecommendNpc", _m_GetRecommendNpc);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetRecommendEliteNpc", _m_GetRecommendEliteNpc);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnMapInitOk", _m_OnMapInitOk);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "bossSelectedEvent", _e_bossSelectedEvent);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "surplusTimesChangeEvent", _e_surplusTimesChangeEvent);
-			
-			Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedBoss", _g_get_selectedBoss);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "totalTimes", _g_get_totalTimes);
-            
-			Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectedBoss", _s_set_selectedBoss);
-            
-			
-			Utils.EndObjectRegister(type, L, translator, null, null,
-			    null, null, null);
-
-		    Utils.BeginClassRegister(type, L, __CreateInstance, 2, 0, 0);
-			
-			
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "ELDERGODAREA_MAPID", Snxxz.UI.ElderGodAreaModel.ELDERGODAREA_MAPID);
-            
-			
-			
-			
-			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.ElderGodAreaModel gen_ret = new Snxxz.UI.ElderGodAreaModel();
-					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.ElderGodAreaModel constructor!");
-            
-        }
-        
-		
-        
-		
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Init(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)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_UnInit(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)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_TryGetBossData(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    Snxxz.UI.ElderGodBossData __data;
-                    
-                        bool gen_ret = gen_to_be_invoked.TryGetBossData( __bossId, out __data );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    translator.Push(L, __data);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_IsElderGodAreaNPC(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __npcId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsElderGodAreaNPC( __npcId );
-                        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_GetElderGodAreaNPCAnger(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __npcId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        int gen_ret = gen_to_be_invoked.GetElderGodAreaNPCAnger( __npcId );
-                        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_IsBossUnLocked(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsBossUnLocked( __bossId );
-                        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_GetElderGodNpces(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetElderGodNpces(  );
-                        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_GetElderGodBosses(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetElderGodBosses(  );
-                        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_GetRecommendNpc(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetRecommendNpc(  );
-                        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_GetRecommendEliteNpc(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetRecommendEliteNpc(  );
-                        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_OnMapInitOk(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.OnMapInitOk(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.selectedBoss);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_totalTimes(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.totalTimes);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.selectedBoss = 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 _e_bossSelectedEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.bossSelectedEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.bossSelectedEvent -= 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.ElderGodAreaModel.bossSelectedEvent!");
-            return 0;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _e_surplusTimesChangeEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.ElderGodAreaModel gen_to_be_invoked = (Snxxz.UI.ElderGodAreaModel)translator.FastGetCSObj(L, 1);
-                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.surplusTimesChangeEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.surplusTimesChangeEvent -= 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.ElderGodAreaModel.surplusTimesChangeEvent!");
-            return 0;
-        }
-        
-		
-		
-    }
-}
diff --git a/Lua/Gen/SnxxzUIElderGodAreaModelWrap.cs.meta b/Lua/Gen/SnxxzUIElderGodAreaModelWrap.cs.meta
deleted file mode 100644
index 821cd08..0000000
--- a/Lua/Gen/SnxxzUIElderGodAreaModelWrap.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 26d92718e9f2e9a479e2e5df9a1fab2e
-timeCreated: 1557818431
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Lua/Gen/SnxxzUIPersonalBossModelWrap.cs b/Lua/Gen/SnxxzUIPersonalBossModelWrap.cs
deleted file mode 100644
index 3f44968..0000000
--- a/Lua/Gen/SnxxzUIPersonalBossModelWrap.cs
+++ /dev/null
@@ -1,475 +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 SnxxzUIPersonalBossModelWrap 
-    {
-        public static void __Register(RealStatePtr L)
-        {
-			ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			System.Type type = typeof(Snxxz.UI.PersonalBossModel);
-			Utils.BeginObjectRegister(type, L, translator, 0, 11, 2, 2);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequestSetDungeonAction", _m_RequestSetDungeonAction);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetBossData", _m_TryGetBossData);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPersonalBosses", _m_GetPersonalBosses);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsBossUnLocked", _m_IsBossUnLocked);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetLatestUnLockBoss", _m_GetLatestUnLockBoss);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetBossNpcId", _m_GetBossNpcId);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateRedpoint", _m_UpdateRedpoint);
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequestGotoDungeon", _m_RequestGotoDungeon);
-			
-			Utils.RegisterFunc(L, Utils.METHOD_IDX, "bossSelectedEvent", _e_bossSelectedEvent);
-			
-			Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedBoss", _g_get_selectedBoss);
-            Utils.RegisterFunc(L, Utils.GETTER_IDX, "personalRedpoint", _g_get_personalRedpoint);
-            
-			Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectedBoss", _s_set_selectedBoss);
-            Utils.RegisterFunc(L, Utils.SETTER_IDX, "personalRedpoint", _s_set_personalRedpoint);
-            
-			
-			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, "PERSONALBOSS_MAPID", Snxxz.UI.PersonalBossModel.PERSONALBOSS_MAPID);
-            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "PERSONAL_REDPOINTID", Snxxz.UI.PersonalBossModel.PERSONAL_REDPOINTID);
-            
-			
-			
-			
-			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.PersonalBossModel gen_ret = new Snxxz.UI.PersonalBossModel();
-					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.PersonalBossModel constructor!");
-            
-        }
-        
-		
-        
-		
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_Init(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)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_UnInit(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)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_RequestSetDungeonAction(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.RequestSetDungeonAction(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_TryGetBossData(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    Snxxz.UI.PersonalBossData __data;
-                    
-                        bool gen_ret = gen_to_be_invoked.TryGetBossData( __bossId, out __data );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    translator.Push(L, __data);
-                        
-                    
-                    
-                    
-                    return 2;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_GetPersonalBosses(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetPersonalBosses(  );
-                        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_IsBossUnLocked(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsBossUnLocked( __bossId );
-                        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_GetLatestUnLockBoss(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                        int gen_ret = gen_to_be_invoked.GetLatestUnLockBoss(  );
-                        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_GetBossNpcId(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int _lineId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        int gen_ret = gen_to_be_invoked.GetBossNpcId( _lineId );
-                        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_UpdateRedpoint(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    
-                    gen_to_be_invoked.UpdateRedpoint(  );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _m_RequestGotoDungeon(RealStatePtr L)
-        {
-		    try {
-            
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
-                {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                    gen_to_be_invoked.RequestGotoDungeon( __bossId );
-                    
-                    
-                    
-                    return 0;
-                }
-                
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            
-        }
-        
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.selectedBoss);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _g_get_personalRedpoint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-                translator.Push(L, gen_to_be_invoked.personalRedpoint);
-            } catch(System.Exception gen_e) {
-                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
-            }
-            return 1;
-        }
-        
-        
-        
-        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
-        static int _s_set_selectedBoss(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.selectedBoss = 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_personalRedpoint(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			
-                Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-                gen_to_be_invoked.personalRedpoint = (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_bossSelectedEvent(RealStatePtr L)
-        {
-		    try {
-                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-			    int gen_param_count = LuaAPI.lua_gettop(L);
-			Snxxz.UI.PersonalBossModel gen_to_be_invoked = (Snxxz.UI.PersonalBossModel)translator.FastGetCSObj(L, 1);
-                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
-                if (gen_delegate == null) {
-                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
-                }
-				
-				if (gen_param_count == 3)
-				{
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
-						gen_to_be_invoked.bossSelectedEvent += gen_delegate;
-						return 0;
-					} 
-					
-					
-					if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
-						gen_to_be_invoked.bossSelectedEvent -= 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.PersonalBossModel.bossSelectedEvent!");
-            return 0;
-        }
-        
-		
-		
-    }
-}
diff --git a/Lua/Gen/SnxxzUIPersonalBossModelWrap.cs.meta b/Lua/Gen/SnxxzUIPersonalBossModelWrap.cs.meta
deleted file mode 100644
index 3a5494c..0000000
--- a/Lua/Gen/SnxxzUIPersonalBossModelWrap.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 7f06f8a2d8bd72740bbe5fcdf449fefa
-timeCreated: 1557818440
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/Lua/Gen/SnxxzUIWorldBossModelWrap.cs b/Lua/Gen/SnxxzUIWorldBossModelWrap.cs
index eb53030..75b9b7e 100644
--- a/Lua/Gen/SnxxzUIWorldBossModelWrap.cs
+++ b/Lua/Gen/SnxxzUIWorldBossModelWrap.cs
@@ -231,12 +231,6 @@
             
                 
                 {
-                    int __bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        bool gen_ret = gen_to_be_invoked.IsBossUnLocked( __bossId );
-                        LuaAPI.lua_pushboolean(L, gen_ret);
-                    
-                    
                     
                     return 1;
                 }
@@ -279,22 +273,9 @@
         static int _m_GetBossUnLockRealm(RealStatePtr L)
         {
 		    try {
-            
                 ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
-            
-            
                 Snxxz.UI.WorldBossModel gen_to_be_invoked = (Snxxz.UI.WorldBossModel)translator.FastGetCSObj(L, 1);
-            
-            
-                
                 {
-                    int _bossId = LuaAPI.xlua_tointeger(L, 2);
-                    
-                        int gen_ret = gen_to_be_invoked.GetBossUnLockRealm( _bossId );
-                        LuaAPI.xlua_pushinteger(L, gen_ret);
-                    
-                    
-                    
                     return 1;
                 }
                 
diff --git a/Lua/Gen/XLuaGenAutoRegister.cs b/Lua/Gen/XLuaGenAutoRegister.cs
index 9c49197..1fe3090 100644
--- a/Lua/Gen/XLuaGenAutoRegister.cs
+++ b/Lua/Gen/XLuaGenAutoRegister.cs
@@ -185,8 +185,6 @@
             translator.DelayWrapLoader(typeof(DogzConfig), DogzConfigWrap.__Register);
         
         
-            translator.DelayWrapLoader(typeof(DogzDungeonConfig), DogzDungeonConfigWrap.__Register);
-        
         
             translator.DelayWrapLoader(typeof(DogzEquipPlusConfig), DogzEquipPlusConfigWrap.__Register);
         
@@ -1024,9 +1022,6 @@
             translator.DelayWrapLoader(typeof(Snxxz.UI.DogzPackModel), SnxxzUIDogzPackModelWrap.__Register);
         
         
-            translator.DelayWrapLoader(typeof(Snxxz.UI.DogzDungeonModel), SnxxzUIDogzDungeonModelWrap.__Register);
-        
-        
             translator.DelayWrapLoader(typeof(Snxxz.UI.DungeonAssistModel), SnxxzUIDungeonAssistModelWrap.__Register);
         
         
@@ -1102,19 +1097,10 @@
             translator.DelayWrapLoader(typeof(Snxxz.UI.BossHomeModel), SnxxzUIBossHomeModelWrap.__Register);
         
         
-            translator.DelayWrapLoader(typeof(Snxxz.UI.DemonJarModel), SnxxzUIDemonJarModelWrap.__Register);
-        
-        
-            translator.DelayWrapLoader(typeof(Snxxz.UI.ElderGodAreaModel), SnxxzUIElderGodAreaModelWrap.__Register);
-        
-        
             translator.DelayWrapLoader(typeof(Snxxz.UI.FindPreciousModel), SnxxzUIFindPreciousModelWrap.__Register);
         
         
             translator.DelayWrapLoader(typeof(Snxxz.UI.FindPreciousTimer), SnxxzUIFindPreciousTimerWrap.__Register);
-        
-        
-            translator.DelayWrapLoader(typeof(Snxxz.UI.PersonalBossModel), SnxxzUIPersonalBossModelWrap.__Register);
         
         }
         
diff --git a/System/Achievement/AchievementGotoPart1.cs b/System/Achievement/AchievementGotoPart1.cs
index 67731ec..cb45ce3 100644
--- a/System/Achievement/AchievementGotoPart1.cs
+++ b/System/Achievement/AchievementGotoPart1.cs
@@ -49,7 +49,7 @@
                         DemonJarBossData bossData = null;
                         if (demonJarModel.TryGetBossData(npcId, out bossData))
                         {
-                            if (PlayerDatas.Instance.baseData.LV < bossData.unLockLevel)
+                            if (findPreciousModel.IsBossUnlock(npcId))
                             {
                                 SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
                             }
@@ -188,7 +188,7 @@
                             DemonJarBossData bossData = null;
                             if (demonJarModel.TryGetBossData(bossId, out bossData))
                             {
-                                if (PlayerDatas.Instance.baseData.LV < bossData.unLockLevel)
+                                if (findPreciousModel.IsBossUnlock(bossId))
                                 {
                                     SysNotifyMgr.Instance.ShowTip("DemonJar_Text2");
                                 }
diff --git a/System/CrossServerBoss/CrossServerBossBoxBehaviour.cs b/System/CrossServerBoss/CrossServerBossBoxBehaviour.cs
index 3284a67..1b00257 100644
--- a/System/CrossServerBoss/CrossServerBossBoxBehaviour.cs
+++ b/System/CrossServerBoss/CrossServerBossBoxBehaviour.cs
@@ -40,7 +40,7 @@
 
         private void DisplayBoxSurplusInfo()
         {
-            var boxInfo = model.dogzDungeonBox;
+            var boxInfo = model.boxInfo;
             m_BigBoxCount.text = boxInfo.bigBoxSurplus.ToString();
             m_BigBoxCount.color = UIHelper.GetUIColor(boxInfo.bigBoxSurplus > 0 ? TextColType.White : TextColType.Red);
             m_SmallBoxCount.text = boxInfo.smallBoxSurplus.ToString();
diff --git a/System/CrossServerBoss/CrossServerBossBreifInfoBehaviour.cs b/System/CrossServerBoss/CrossServerBossBreifInfoBehaviour.cs
index 8c040b4..d9d12e4 100644
--- a/System/CrossServerBoss/CrossServerBossBreifInfoBehaviour.cs
+++ b/System/CrossServerBoss/CrossServerBossBreifInfoBehaviour.cs
@@ -34,10 +34,10 @@
                 {
                     case 1:
                     case 2:
-                        dieOrLocked = model.dogzDungeonBox.bigBoxSurplus <= 0;
+                        dieOrLocked = model.boxInfo.bigBoxSurplus <= 0;
                         break;
                     case 3:
-                        dieOrLocked = model.dogzDungeonElite.eliteSurplus <= 0;
+                        dieOrLocked = model.eliteInfo.eliteSurplus <= 0;
                         break;
                     case 4:
                         dieOrLocked = !model.IsBossUnLocked(bossId) || !findPreciousModel.IsBossAlive(bossId);
@@ -81,18 +81,18 @@
 
             model.boxSurplusChangeEvent -= OnBoxInfoUpdate;
             model.eliteSurplusChangeEvent -= OnGuardInfoUpdate;
-            model.dogzDungeonBox.refreshTimeEvent -= OnBoxRefreshTimeChange;
-            model.dogzDungeonElite.refreshTimeEvent -= OnEliteRefreshTimeChange;
+            model.boxInfo.refreshTimeEvent -= OnBoxRefreshTimeChange;
+            model.eliteInfo.refreshTimeEvent -= OnEliteRefreshTimeChange;
 
             switch (config.MonsterType)
             {
                 case 1:
                 case 2:
-                    model.dogzDungeonBox.refreshTimeEvent += OnBoxRefreshTimeChange;
+                    model.boxInfo.refreshTimeEvent += OnBoxRefreshTimeChange;
                     model.boxSurplusChangeEvent += OnBoxInfoUpdate;
                     break;
                 case 3:
-                    model.dogzDungeonElite.refreshTimeEvent += OnEliteRefreshTimeChange;
+                    model.eliteInfo.refreshTimeEvent += OnEliteRefreshTimeChange;
                     model.eliteSurplusChangeEvent += OnGuardInfoUpdate;
                     break;
             }
@@ -107,8 +107,8 @@
             model.bossSelectedEvent -= OnSelected;
             model.boxSurplusChangeEvent -= OnBoxInfoUpdate;
             model.eliteSurplusChangeEvent -= OnGuardInfoUpdate;
-            model.dogzDungeonBox.refreshTimeEvent -= OnBoxRefreshTimeChange;
-            model.dogzDungeonElite.refreshTimeEvent -= OnEliteRefreshTimeChange;
+            model.boxInfo.refreshTimeEvent -= OnBoxRefreshTimeChange;
+            model.eliteInfo.refreshTimeEvent -= OnEliteRefreshTimeChange;
         }
 
         protected override void UpdateBossRebornCoolDown(bool _isUnLocked)
@@ -121,10 +121,10 @@
                 {
                     case 1:
                     case 2:
-                        refreshTime = model.dogzDungeonBox.refreshTime;
+                        refreshTime = model.boxInfo.refreshTime;
                         break;
                     case 3:
-                        refreshTime = model.dogzDungeonElite.refreshTime;
+                        refreshTime = model.eliteInfo.refreshTime;
                         break;
                     case 4:
                         FindPreciousModel.BossInfo bossInfo;
@@ -171,8 +171,7 @@
             UpdateBossPortrait(interactorableState);
         }
 
-
-        protected override void DrawBossBaseInfo(string _icon, string _name, int _level, int _realm)
+        protected override void DrawBossBaseInfo(string icon, string name, int level, int realm)
         {
             var config = CrossServerBossConfig.Get(bossId);
             switch (config.MonsterType)
@@ -187,28 +186,39 @@
                     m_BossLevel.text = string.Empty;
                     break;
                 case 4:
-                    m_BossName.text = _name;
-                    m_BossLevel.text = Language.Get("Z1024", _level);
+                    m_BossName.text = name;
+                    m_BossLevel.text = Language.Get("Z1024", level);
                     break;
             }
 
-            m_Portrait.SetSprite(_icon);
+            m_Portrait.SetSprite(icon);
             m_Portrait.SetNativeSize();
 
-            if (m_Realm != null && m_RealmContainer != null)
+            m_RealmContainer.gameObject.SetActive(isUnLocked);
+            m_UnLockCondition.gameObject.SetActive(!isUnLocked);
+            if (!isUnLocked)
             {
-                if (_realm > 0 && RealmConfig.Has(_realm))
+                var unLockRealm = findPreciousModel.GetBossUnLockRealm(bossId);
+                var realmConfig = RealmConfig.Get(unLockRealm);
+                m_UnLockRealm.SetSprite(realmConfig.Img);
+            }
+            else
+            {
+                if (m_Realm != null && m_RealmContainer != null)
                 {
-                    m_RealmContainer.gameObject.SetActive(true);
-                    var realmConfig = RealmConfig.Get(_realm);
-                    if (realmConfig != null)
+                    if (realm > 0 && RealmConfig.Has(realm))
                     {
-                        m_Realm.SetSprite(realmConfig.Img);
+                        m_RealmContainer.gameObject.SetActive(true);
+                        var realmConfig = RealmConfig.Get(realm);
+                        if (realmConfig != null)
+                        {
+                            m_Realm.SetSprite(realmConfig.Img);
+                        }
                     }
-                }
-                else
-                {
-                    m_RealmContainer.gameObject.SetActive(false);
+                    else
+                    {
+                        m_RealmContainer.gameObject.SetActive(false);
+                    }
                 }
             }
         }
diff --git a/System/CrossServerBoss/CrossServerBossEliteMonsterBehaviour.cs b/System/CrossServerBoss/CrossServerBossEliteMonsterBehaviour.cs
index 6bdaee0..c5b3bca 100644
--- a/System/CrossServerBoss/CrossServerBossEliteMonsterBehaviour.cs
+++ b/System/CrossServerBoss/CrossServerBossEliteMonsterBehaviour.cs
@@ -39,7 +39,7 @@
 
         private void DisplayGuardSurplusInfo()
         {
-            var guard = model.dogzDungeonElite;
+            var guard = model.eliteInfo;
             m_Elite.text = guard.eliteSurplus.ToString();
             m_Elite.color = UIHelper.GetUIColor(guard.eliteSurplus > 0 ? TextColType.White : TextColType.Red);
         }
diff --git a/System/CrossServerBoss/CrossServerBossModel.cs b/System/CrossServerBoss/CrossServerBossModel.cs
index a7bd4cb..ba71549 100644
--- a/System/CrossServerBoss/CrossServerBossModel.cs
+++ b/System/CrossServerBoss/CrossServerBossModel.cs
@@ -37,32 +37,55 @@
             }
         }
 
-        public int bigBoxCollectCount {
-            get { return dogzDungeonModel.bigBoxCollectCount; }
-        }
-
-        public int smallBoxCollectCount {
-            get { return dogzDungeonModel.smallBoxCollectCount; }
-        }
-
+        int m_WearyValue = 0;
         public int wearyValue {
-            get {
-                return dogzDungeonModel.wearyValue;
+            get { return m_WearyValue; }
+            set {
+                if (m_WearyValue != value)
+                {
+                    m_WearyValue = value;
+                    UpdateRedpoint();
+                    if (bossWearyValueChangeEvent != null)
+                    {
+                        bossWearyValueChangeEvent();
+                    }
+                }
             }
         }
 
+        int m_BigBoxCollectCount = 0;
+        public int bigBoxCollectCount {
+            get { return m_BigBoxCollectCount; }
+            set {
+                if (m_BigBoxCollectCount != value)
+                {
+                    m_BigBoxCollectCount = value;
+                    UpdateRedpoint();
+                    if (bigBoxCollectCountChangeEvent != null)
+                    {
+                        bigBoxCollectCountChangeEvent();
+                    }
+                }
+            }
+        }
+
+        int m_SmallBoxCollectCount = 0;
+        public int smallBoxCollectCount {
+            get { return m_SmallBoxCollectCount; }
+            set { m_SmallBoxCollectCount = value; }
+        }
+
+        public event Action bossWearyValueChangeEvent;
         public event Action<int> bossSelectedEvent;
         public event Action bigBoxCollectCountChangeEvent;
         public event Action boxSurplusChangeEvent;
         public event Action eliteSurplusChangeEvent;
 
-        public DogzDungeonBox dogzDungeonBox = new DogzDungeonBox();
-        public DogzDungeonElite dogzDungeonElite = new DogzDungeonElite();
+        public CrossServerBossBox boxInfo = new CrossServerBossBox();
+        public CrossServerBossElite eliteInfo = new CrossServerBossElite();
         public Redpoint redpoint = new Redpoint(FindPreciousModel.LOOTPRECIOUs_REDPOINTID, REDPOINT);
 
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
-        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
-        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
         TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
 
         public override void Init()
@@ -141,6 +164,13 @@
                 return false;
             }
 
+            var config = CrossServerBossConfig.Get(selectedBoss);
+            if (config.MonsterType == 4 && !findPreciousModel.IsRealmEnoughToKillBoss(selectedBoss))
+            {
+                error = 6;
+                return false;
+            }
+
             error = 0;
             return true;
         }
@@ -164,6 +194,9 @@
                 case 5:
                     SysNotifyMgr.Instance.ShowTip("CrossMap4");
                     break;
+                case 6:
+                    SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(selectedBoss).Realm);
+                    break;
             }
         }
 
@@ -183,14 +216,30 @@
             var npcIds = new List<int>();
             npcIds.Add(bigBoxNpcId);
             npcIds.Add(eliteMonsters[0]);
-            npcIds.AddRange(bosses.Keys);
+
+            foreach (var bossId in bosses.Keys)
+            {
+                if (findPreciousModel.IsBossUnlock(bossId))
+                {
+                    npcIds.Add(bossId);
+                }
+            }
 
             return npcIds;
         }
 
-        public List<int> GetBosses()
+        public List<int> GetShowBosses()
         {
-            return new List<int>(bosses.Keys);
+            var showBosses = new List<int>();
+            foreach (var bossId in bosses.Keys)
+            {
+                if (findPreciousModel.IsBossUnlock(bossId))
+                {
+                    showBosses.Add(bossId);
+                }
+            }
+
+            return showBosses;
         }
 
         public int GetRecommendNpc()
@@ -202,12 +251,10 @@
 
             if (wearyValue < GeneralDefine.bossWearyValues[2])
             {
-                var playerLevel = PlayerDatas.Instance.baseData.LV;
                 for (int i = sortedBossIds.Count - 1; i >= 0; i--)
                 {
                     var bossId = sortedBossIds[i];
-                    var npcConfig = NPCConfig.Get(bossId);
-                    if (IsBossUnLocked(bossId) && findPreciousModel.IsBossAlive(bossId) && playerLevel >= npcConfig.NPCLV)
+                    if (IsBossUnLocked(bossId) && findPreciousModel.IsBossAlive(bossId))
                     {
                         return bossId;
                     }
@@ -221,7 +268,7 @@
 
         public int GetRecommendKillElite()
         {
-            var Elite = dogzDungeonElite.GetAliveElite();
+            var Elite = eliteInfo.GetAliveElite();
             if (Elite == 0)
             {
                 Elite = eliteMonsters[0];
@@ -230,19 +277,19 @@
             return Elite;
         }
 
-        public bool IsBossUnLocked(int _bossId)
+        public bool IsBossUnLocked(int bossId)
         {
-            if (_bossId == bigBoxNpcId || _bossId == smallBoxNpcId)
+            if (bossId == bigBoxNpcId || bossId == smallBoxNpcId)
             {
                 return true;
             }
 
-            if (eliteMonsters.Contains(_bossId))
+            if (eliteMonsters.Contains(bossId))
             {
                 return true;
             }
 
-            return bosses.ContainsKey(_bossId) && bosses[_bossId].isUnLocked;
+            return bosses.ContainsKey(bossId) && findPreciousModel.IsBossUnlock(bossId);
         }
 
         public void RequestBoxAndEliteSurplusInfo()
@@ -328,31 +375,31 @@
                 var npcInfo = _npcInfoes.NPCInfoList[i];
                 if (npcInfo.NPCID == bigBoxNpcId)
                 {
-                    dogzDungeonBox.bigBoxSurplus = (int)npcInfo.Cnt;
+                    boxInfo.bigBoxSurplus = (int)npcInfo.Cnt;
                     updatedBigBox = true;
                 }
 
                 if (npcInfo.NPCID == smallBoxNpcId)
                 {
-                    dogzDungeonBox.smallBoxSurplus = (int)npcInfo.Cnt;
+                    boxInfo.smallBoxSurplus = (int)npcInfo.Cnt;
                     updatedSmallBox = true;
                 }
 
                 if (eliteMonsters.Contains((int)npcInfo.NPCID))
                 {
-                    dogzDungeonElite.UpdateEliteInfo((int)npcInfo.NPCID, (int)npcInfo.Cnt);
+                    eliteInfo.UpdateEliteInfo((int)npcInfo.NPCID, (int)npcInfo.Cnt);
                     updatedEliteNpcIds.Add((int)npcInfo.NPCID);
                 }
             }
 
             if (!updatedBigBox)
             {
-                dogzDungeonBox.bigBoxSurplus = 0;
+                boxInfo.bigBoxSurplus = 0;
             }
 
             if (!updatedSmallBox)
             {
-                dogzDungeonBox.smallBoxSurplus = 0;
+                boxInfo.smallBoxSurplus = 0;
             }
 
             if (boxSurplusChangeEvent != null)
@@ -364,7 +411,7 @@
             {
                 if (!updatedEliteNpcIds.Contains(item))
                 {
-                    dogzDungeonElite.UpdateEliteInfo(item, 0);
+                    eliteInfo.UpdateEliteInfo(item, 0);
                 }
             }
 
@@ -400,12 +447,12 @@
 
             if (containBox)
             {
-                dogzDungeonBox.UpdateBoxRefreshTime(boxRefreshSecond);
+                boxInfo.UpdateBoxRefreshTime(boxRefreshSecond);
             }
 
             if (containElite)
             {
-                dogzDungeonElite.UpdateEliteRefreshTime(eliteRefreshSecond);
+                eliteInfo.UpdateEliteRefreshTime(eliteRefreshSecond);
             }
 
             if (WindowCenter.Instance.IsOpen("CrossServerBossWin"))
@@ -553,12 +600,6 @@
     public class CrossServerBossData
     {
         public int id { get; private set; }
-        public bool isUnLocked {
-            get {
-                return true;
-            }
-        }
-
         public CrossServerBossData(int _id)
         {
             this.id = _id;
diff --git a/System/CrossServerBoss/CrossServerBossWin.cs b/System/CrossServerBoss/CrossServerBossWin.cs
index cfcb6d2..54a97f5 100644
--- a/System/CrossServerBoss/CrossServerBossWin.cs
+++ b/System/CrossServerBoss/CrossServerBossWin.cs
@@ -21,7 +21,6 @@
         [SerializeField] BossIntroduceBehaviour m_BossIntroduce;
 
         [SerializeField] Button m_Goto;
-        [SerializeField] ImageEx m_ImageGoto;
         [SerializeField] Button m_KillRecord;
         [SerializeField] Transform m_SurpassLevel;
         [SerializeField] RectTransform m_NoDamageTip;
@@ -108,7 +107,7 @@
         private void GotoKillBoss()
         {
             var error = 0;
-            if ( model.CanEnter(out error) )
+            if (model.CanEnter(out error))
             {
                 if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID)
                 {
@@ -188,6 +187,9 @@
                     m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId);
                     break;
             }
+
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
         }
 
         private void DisplayItemDropTip(int bossId)
@@ -198,14 +200,11 @@
                 case 1:
                 case 2:
                 case 3:
-                    m_NoDamageTip.gameObject.SetActive(true);
+                    m_NoDamageTip.gameObject.SetActive(false);
                     m_SurpassLevel.gameObject.SetActive(false);
                     break;
                 case 4:
-                    var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-                    var npcConfig = NPCConfig.Get(bossId);
-
-                    if (npcConfig.Realm > realmLevel)
+                    if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId))
                     {
                         m_NoDamageTip.gameObject.SetActive(true);
                         m_SurpassLevel.gameObject.SetActive(false);
@@ -245,6 +244,22 @@
             }
         }
 
+        private void DisplayGotoKillButton(int bossId)
+        {
+            var config = CrossServerBossConfig.Get(model.selectedBoss);
+            var isUnlock = config.MonsterType != 4 || findPreciousModel.IsBossUnlock(model.selectedBoss);
+            m_Goto.gameObject.SetActive(isUnlock);
+        }
+
+        private void DisplaySubscribe(int bossId)
+        {
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
+            m_Subscribe.gameObject.SetActive(isUnLocked);
+            if (isUnLocked)
+            {
+                m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
+            }
+        }
     }
 
 }
diff --git a/System/DogzDungeon/DogzBoxBehaviour.cs b/System/DogzDungeon/DogzBoxBehaviour.cs
deleted file mode 100644
index c1ca9f3..0000000
--- a/System/DogzDungeon/DogzBoxBehaviour.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-锘�//--------------------------------------------------------
-//    [Author]:           绗簩涓栫晫
-//    [  Date ]:           Saturday, August 18, 2018
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using UnityEngine.UI;
-
-
-namespace Snxxz.UI
-{
-
-    public class DogzBoxBehaviour : MonoBehaviour
-    {
-        [SerializeField] Text m_BigBoxCount;
-        [SerializeField] Text m_SmallBoxCount;
-        [SerializeField] RawImage m_RawImage;
-
-        DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
-
-        public void Display()
-        {
-            timer = 0f;
-            var config = NPCConfig.Get(model.bigBoxNpcId);
-            UI3DModelExhibition.Instance.ShowNPC(model.bigBoxNpcId, config.UIModeLOffset, config.UIModelRotation, m_RawImage);
-            DisplayBoxSurplusInfo();
-            model.boxSurplusChangeEvent += OnBoxInfoUpdate;
-        }
-
-        public void Dispose()
-        {
-            model.boxSurplusChangeEvent -= OnBoxInfoUpdate;
-            UI3DModelExhibition.Instance.StopShow();
-        }
-
-        private void OnBoxInfoUpdate()
-        {
-            DisplayBoxSurplusInfo();
-        }
-
-        private void DisplayBoxSurplusInfo()
-        {
-            var boxInfo = model.dogzDungeonBox;
-            m_BigBoxCount.text = boxInfo.bigBoxSurplus.ToString();
-            m_BigBoxCount.color = UIHelper.GetUIColor(boxInfo.bigBoxSurplus > 0 ? TextColType.White : TextColType.Red);
-            m_SmallBoxCount.text = boxInfo.smallBoxSurplus.ToString();
-            m_SmallBoxCount.color = UIHelper.GetUIColor(boxInfo.smallBoxSurplus > 0 ? TextColType.White : TextColType.Red);
-        }
-
-        float timer = 0f;
-        private void LateUpdate()
-        {
-            timer += Time.deltaTime;
-            if (timer > 30)
-            {
-                timer = 0f;
-                model.RequestBoxSurplusInfo();
-            }
-        }
-
-    }
-
-}
-
-
-
diff --git a/System/DogzDungeon/DogzBoxBehaviour.cs.meta b/System/DogzDungeon/DogzBoxBehaviour.cs.meta
deleted file mode 100644
index bab1e41..0000000
--- a/System/DogzDungeon/DogzBoxBehaviour.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 2e487abe9c3d74147b7a132a647f110c
-timeCreated: 1534563273
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs b/System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs
deleted file mode 100644
index a3a0c53..0000000
--- a/System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs
+++ /dev/null
@@ -1,238 +0,0 @@
-锘�//--------------------------------------------------------
-//    [Author]:           绗簩涓栫晫
-//    [  Date ]:           Saturday, August 18, 2018
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using UnityEngine.UI;
-
-using System;
-
-namespace Snxxz.UI
-{
-
-    public class DogzDungeonBreifInfoBehaviour : FindPreciousBossBriefInfoBehaviour
-    {
-
-        [SerializeField] Image m_Attention;
-
-        protected override int selectedBossId {
-            get {
-                return model.selectedBoss;
-            }
-            set {
-                model.selectedBoss = value;
-            }
-        }
-
-        protected override InteractorableState interactorableState {
-            get {
-                var selected = selectedBossId == bossId;
-                var config = DogzDungeonConfig.Get(bossId);
-                var dieOrLocked = false;
-                switch (config.MonsterType)
-                {
-                    case 1:
-                    case 2:
-                        dieOrLocked = model.dogzDungeonBox.bigBoxSurplus <= 0;
-                        break;
-                    case 3:
-                        dieOrLocked = model.dogzDungeonElite.eliteSurplus <= 0;
-                        break;
-                    case 4:
-                        dieOrLocked = !model.IsBossUnLocked(bossId) || !findPreciousModel.IsBossAlive(bossId);
-                        break;
-                }
-
-                if (!dieOrLocked)
-                {
-                    return selected ? InteractorableState.NormalSelected : InteractorableState.NormalUnSelected;
-                }
-                else
-                {
-                    return selected ? InteractorableState.DieOrLockedSelected : InteractorableState.DieOrLockedUnSelected;
-                }
-            }
-            set {
-                base.interactorableState = value;
-            }
-        }
-
-        protected override bool isUnLocked {
-            get {
-                return model.IsBossUnLocked(bossId);
-            }
-        }
-
-        DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
-
-        public override void Display(object _data)
-        {
-            base.Display(_data);
-
-            m_Attention.gameObject.SetActive(findPreciousModel.IsBossSubscribed(bossId));
-            var config = DogzDungeonConfig.Get(bossId);
-            var npcConfig = NPCConfig.Get(bossId);
-
-            DrawBossBaseInfo(config.PortraitID, npcConfig.charName, npcConfig.NPCLV, npcConfig.ClientRealm);
-            UpdateBossRebornCoolDown(isUnLocked);
-            UpdateBossPortrait(interactorableState);
-            OnSelected(bossId);
-
-            model.boxSurplusChangeEvent -= OnBoxInfoUpdate;
-            model.eliteSurplusChangeEvent -= OnGuardInfoUpdate;
-            model.dogzDungeonBox.refreshTimeEvent -= OnBoxRefreshTimeChange;
-            model.dogzDungeonElite.refreshTimeEvent -= OnEliteRefreshTimeChange;
-
-            switch (config.MonsterType)
-            {
-                case 1:
-                case 2:
-                    model.dogzDungeonBox.refreshTimeEvent += OnBoxRefreshTimeChange;
-                    model.boxSurplusChangeEvent += OnBoxInfoUpdate;
-                    break;
-                case 3:
-                    model.dogzDungeonElite.refreshTimeEvent += OnEliteRefreshTimeChange;
-                    model.eliteSurplusChangeEvent += OnGuardInfoUpdate;
-                    break;
-            }
-
-            model.bossSelectedEvent -= OnSelected;
-            model.bossSelectedEvent += OnSelected;
-        }
-
-        public override void Dispose()
-        {
-            base.Dispose();
-            model.bossSelectedEvent -= OnSelected;
-            model.boxSurplusChangeEvent -= OnBoxInfoUpdate;
-            model.eliteSurplusChangeEvent -= OnGuardInfoUpdate;
-            model.dogzDungeonBox.refreshTimeEvent -= OnBoxRefreshTimeChange;
-            model.dogzDungeonElite.refreshTimeEvent -= OnEliteRefreshTimeChange;
-        }
-
-        protected override void UpdateBossRebornCoolDown(bool _isUnLocked)
-        {
-            if (_isUnLocked)
-            {
-                var config = DogzDungeonConfig.Get(bossId);
-                var refreshTime = TimeUtility.ServerNow;
-                switch (config.MonsterType)
-                {
-                    case 1:
-                    case 2:
-                        refreshTime = model.dogzDungeonBox.refreshTime;
-                        break;
-                    case 3:
-                        refreshTime = model.dogzDungeonElite.refreshTime;
-                        break;
-                    case 4:
-                        FindPreciousModel.BossInfo bossInfo;
-                        if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo) && !bossInfo.IsBossAlive())
-                        {
-                            refreshTime = bossInfo.refreshTime;
-                        }
-                        break;
-                }
-
-                if (refreshTime > TimeUtility.ServerNow)
-                {
-                    m_CoolDown.Begin((int)(refreshTime - TimeUtility.ServerNow).TotalSeconds, OnBossCoolDownCompleted);
-                }
-                else
-                {
-                    m_CoolDown.gameObject.SetActive(false);
-                }
-            }
-            else
-            {
-                m_CoolDown.gameObject.SetActive(false);
-            }
-        }
-
-
-        private void OnBoxRefreshTimeChange()
-        {
-            UpdateBossRebornCoolDown(isUnLocked);
-        }
-
-        private void OnEliteRefreshTimeChange()
-        {
-            UpdateBossRebornCoolDown(isUnLocked);
-        }
-
-        private void OnGuardInfoUpdate()
-        {
-            UpdateBossPortrait(interactorableState);
-        }
-
-        private void OnBoxInfoUpdate()
-        {
-            UpdateBossPortrait(interactorableState);
-        }
-
-
-        protected override void DrawBossBaseInfo(string _icon, string _name, int _level, int _realm)
-        {
-            var config = DogzDungeonConfig.Get(bossId);
-            switch (config.MonsterType)
-            {
-                case 1:
-                case 2:
-                    m_BossName.text = Language.Get("DogzMap1");
-                    m_BossLevel.text = string.Empty;
-                    break;
-                case 3:
-                    m_BossName.text = Language.Get("DogzMap2");
-                    m_BossLevel.text = string.Empty;
-                    break;
-                case 4:
-                    m_BossName.text = _name;
-                    m_BossLevel.text = Language.Get("Z1024", _level);
-                    break;
-            }
-
-            m_Portrait.SetSprite(_icon);
-            m_Portrait.SetNativeSize();
-
-            if (m_Realm != null && m_RealmContainer != null)
-            {
-                if (_realm > 0 && RealmConfig.Has(_realm))
-                {
-                    m_RealmContainer.gameObject.SetActive(true);
-                    var realmConfig = RealmConfig.Get(_realm);
-                    if (realmConfig != null)
-                    {
-                        m_Realm.SetSprite(realmConfig.Img);
-                    }
-                }
-                else
-                {
-                    m_RealmContainer.gameObject.SetActive(false);
-                }
-            }
-        }
-
-        private void OnSelected(int _bossId)
-        {
-            UpdateBossNameLevelFont(interactorableState);
-        }
-
-        protected override void OnSubscribe(int _bossId)
-        {
-            base.OnSubscribe(_bossId);
-            if (bossId != _bossId)
-            {
-                return;
-            }
-
-            m_Attention.gameObject.SetActive(findPreciousModel.IsBossSubscribed(bossId));
-        }
-
-    }
-
-}
-
-
-
-
diff --git a/System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs.meta b/System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs.meta
deleted file mode 100644
index 12234c0..0000000
--- a/System/DogzDungeon/DogzDungeonBreifInfoBehaviour.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 61b922330133f6946a1b5f9b6b6f62a6
-timeCreated: 1534559500
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/System/DogzDungeon/DogzDungeonModel.cs b/System/DogzDungeon/DogzDungeonModel.cs
deleted file mode 100644
index 8481347..0000000
--- a/System/DogzDungeon/DogzDungeonModel.cs
+++ /dev/null
@@ -1,482 +0,0 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-using System;
-
-namespace Snxxz.UI
-{
-    [XLua.LuaCallCSharp]
-    public class DogzDungeonModel : Model, IPlayerLoginOk
-    {
-
-        public const int DOGZDUNGEON_REDPOINT = 77002;
-        public const int DATA_MAPID = 21110;
-
-        int m_SelectedBoss = 0;
-        public int selectedBoss {
-            get {
-                return this.m_SelectedBoss;
-            }
-            set {
-                if (this.m_SelectedBoss != value)
-                {
-                    this.m_SelectedBoss = value;
-                    if (bossSelectedEvent != null)
-                    {
-                        bossSelectedEvent(value);
-                    }
-                }
-            }
-        }
-
-        int m_WearyValue = 0;
-        public int wearyValue {
-            get { return m_WearyValue; }
-            set {
-                if (m_WearyValue != value)
-                {
-                    m_WearyValue = value;
-                    UpdateRedpoint();
-                    crossServerBossModel.UpdateRedpoint();
-                    if (bossWearyValueChangeEvent != null)
-                    {
-                        bossWearyValueChangeEvent();
-                    }
-                }
-            }
-        }
-
-        int m_BigBoxCollectCount = 0;
-        public int bigBoxCollectCount {
-            get { return m_BigBoxCollectCount; }
-            set {
-                if (m_BigBoxCollectCount != value)
-                {
-                    m_BigBoxCollectCount = value;
-                    UpdateRedpoint();
-                    crossServerBossModel.UpdateRedpoint();
-                    if (bigBoxCollectCountChangeEvent != null)
-                    {
-                        bigBoxCollectCountChangeEvent();
-                    }
-                }
-            }
-        }
-
-        int m_SmallBoxCollectCount = 0;
-        public int smallBoxCollectCount {
-            get { return m_SmallBoxCollectCount; }
-            set { m_SmallBoxCollectCount = value; }
-        }
-
-        public event Action<int> bossSelectedEvent;
-        public event Action bossWearyValueChangeEvent;
-        public event Action bigBoxCollectCountChangeEvent;
-        public event Action boxSurplusChangeEvent;
-        public event Action eliteSurplusChangeEvent;
-
-        List<int> sortedBossIds = new List<int>();
-        Dictionary<int, DogzDungeonBossData> bosses = new Dictionary<int, DogzDungeonBossData>();
-        public DogzDungeonBox dogzDungeonBox = new DogzDungeonBox();
-        public DogzDungeonElite dogzDungeonElite = new DogzDungeonElite();
-        public Redpoint redpoint = new Redpoint(FindPreciousModel.LOOTPRECIOUs_REDPOINTID, DOGZDUNGEON_REDPOINT);
-
-        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
-        CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
-
-        public int bigBoxNpcId = 0;
-        public int smallBoxNpcId = 0;
-        public List<int> eliteMonsters = new List<int>();
-
-        public override void Init()
-        {
-            ParseConfig();
-            FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionStateChange;
-        }
-
-        public override void UnInit()
-        {
-            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFunctionStateChange;
-        }
-
-        public bool TryGetBossData(int _bossId, out DogzDungeonBossData _data)
-        {
-            return bosses.TryGetValue(_bossId, out _data);
-        }
-
-        public List<int> GetNpcIds()
-        {
-            var npcIds = new List<int>();
-            npcIds.Add(bigBoxNpcId);
-            npcIds.Add(eliteMonsters[0]);
-            npcIds.AddRange(bosses.Keys);
-
-            return npcIds;
-        }
-
-        public List<int> GetBosses()
-        {
-            return new List<int>(bosses.Keys);
-        }
-
-        public int GetRecommendNpc()
-        {
-            if (bigBoxCollectCount < GeneralDefine.dogzBoxLimit)
-            {
-                return bigBoxNpcId;
-            }
-
-            if (wearyValue < GeneralDefine.bossWearyValues[2])
-            {
-                var playerLevel = PlayerDatas.Instance.baseData.LV;
-                for (int i = sortedBossIds.Count - 1; i >= 0; i--)
-                {
-                    var bossId = sortedBossIds[i];
-                    var npcConfig = NPCConfig.Get(bossId);
-                    if (IsBossUnLocked(bossId) && findPreciousModel.IsBossAlive(bossId) && playerLevel >= npcConfig.NPCLV)
-                    {
-                        return bossId;
-                    }
-                }
-
-                return sortedBossIds[0];
-            }
-
-            return eliteMonsters[0];
-        }
-
-        public int GetRecommendKillElite()
-        {
-            var Elite = dogzDungeonElite.GetAliveElite();
-            if (Elite == 0)
-            {
-                Elite = eliteMonsters[0];
-            }
-
-            return Elite;
-        }
-
-        public bool IsBossUnLocked(int _bossId)
-        {
-            if (_bossId == bigBoxNpcId || _bossId == smallBoxNpcId)
-            {
-                return true;
-            }
-
-            if (eliteMonsters.Contains(_bossId))
-            {
-                return true;
-            }
-
-            return bosses.ContainsKey(_bossId) && bosses[_bossId].isUnLocked;
-        }
-
-        public void RequestBoxAndEliteSurplusInfo()
-        {
-            var sendInfo = new CA227_tagCMQueryNPCCntInfo();
-            sendInfo.MapID = DATA_MAPID;
-            sendInfo.LineID = 0;
-            var stringArray = new string[eliteMonsters.Count + 2];
-            for (int i = 0; i < eliteMonsters.Count; i++)
-            {
-                stringArray[i] = eliteMonsters[i].ToString();
-            }
-
-            stringArray[eliteMonsters.Count] = bigBoxNpcId.ToString();
-            stringArray[eliteMonsters.Count + 1] = smallBoxNpcId.ToString();
-
-            sendInfo.NPCIDList = string.Format("[{0}]", string.Join(",", stringArray));
-            sendInfo.NPCIDListLen = (byte)sendInfo.NPCIDList.Length;
-            GameNetSystem.Instance.SendInfo(sendInfo);
-        }
-
-        public void RequestBoxSurplusInfo()
-        {
-            var sendInfo = new CA227_tagCMQueryNPCCntInfo();
-            sendInfo.MapID = DATA_MAPID;
-            sendInfo.LineID = 0;
-            sendInfo.NPCIDList = string.Format("[{0},{1}]", bigBoxNpcId, smallBoxNpcId);
-            sendInfo.NPCIDListLen = (byte)sendInfo.NPCIDList.Length;
-            GameNetSystem.Instance.SendInfo(sendInfo);
-        }
-
-        public void RequestEliteSurplusInfo()
-        {
-            var sendInfo = new CA227_tagCMQueryNPCCntInfo();
-            sendInfo.MapID = DATA_MAPID;
-            sendInfo.LineID = 0;
-            var stringArray = new string[eliteMonsters.Count];
-            for (int i = 0; i < stringArray.Length; i++)
-            {
-                stringArray[i] = eliteMonsters[i].ToString();
-            }
-
-            sendInfo.NPCIDList = string.Format("[{0}]", string.Join(",", stringArray));
-            sendInfo.NPCIDListLen = (byte)sendInfo.NPCIDList.Length;
-            GameNetSystem.Instance.SendInfo(sendInfo);
-        }
-
-        public void UpdateMonsterSurplusInfo(HA714_tagMCNPCCntList _npcInfoes)
-        {
-            if (_npcInfoes.MapID != DATA_MAPID)
-            {
-                return;
-            }
-
-            var updatedBigBox = false;
-            var updatedSmallBox = false;
-            var updatedElite = false;
-            var updatedEliteNpcIds = new List<int>();
-
-            for (int i = 0; i < _npcInfoes.NPCInfoList.Length; i++)
-            {
-                var npcInfo = _npcInfoes.NPCInfoList[i];
-                if (npcInfo.NPCID == bigBoxNpcId)
-                {
-                    dogzDungeonBox.bigBoxSurplus = (int)npcInfo.Cnt;
-                    updatedBigBox = true;
-                }
-
-                if (npcInfo.NPCID == smallBoxNpcId)
-                {
-                    dogzDungeonBox.smallBoxSurplus = (int)npcInfo.Cnt;
-                    updatedSmallBox = true;
-                }
-
-                if (eliteMonsters.Contains((int)npcInfo.NPCID))
-                {
-                    dogzDungeonElite.UpdateEliteInfo((int)npcInfo.NPCID, (int)npcInfo.Cnt);
-                    updatedEliteNpcIds.Add((int)npcInfo.NPCID);
-                    updatedElite = true;
-                }
-            }
-
-            if (!updatedBigBox)
-            {
-                dogzDungeonBox.bigBoxSurplus = 0;
-            }
-
-            if (!updatedSmallBox)
-            {
-                dogzDungeonBox.smallBoxSurplus = 0;
-            }
-
-            if (boxSurplusChangeEvent != null)
-            {
-                boxSurplusChangeEvent();
-            }
-
-            foreach (var item in eliteMonsters)
-            {
-                if (!updatedEliteNpcIds.Contains(item))
-                {
-                    dogzDungeonElite.UpdateEliteInfo(item, 0);
-                }
-            }
-
-            if (eliteSurplusChangeEvent != null)
-            {
-                eliteSurplusChangeEvent();
-            }
-        }
-
-        public void UpdateBoxOrEliteRefreshTime(HA904_tagGCDogzNPCRefreshTime _refreshTimes)
-        {
-            var containBox = false;
-            var boxRefreshSecond = 0;
-
-            var containElite = false;
-            var eliteRefreshSecond = 0;
-
-            for (int i = 0; i < _refreshTimes.InfoList.Length; i++)
-            {
-                var info = _refreshTimes.InfoList[i];
-                if (bigBoxNpcId == info.NPCID || smallBoxNpcId == info.NPCID)
-                {
-                    containBox = true;
-                    boxRefreshSecond = (int)info.RefreshSecond;
-                }
-
-                if (eliteMonsters.Contains((int)info.NPCID))
-                {
-                    containElite = true;
-                    eliteRefreshSecond = (int)info.RefreshSecond;
-                }
-            }
-
-            if (containBox)
-            {
-                dogzDungeonBox.UpdateBoxRefreshTime(boxRefreshSecond);
-            }
-
-            if (containElite)
-            {
-                dogzDungeonElite.UpdateEliteRefreshTime(eliteRefreshSecond);
-            }
-
-            if (WindowCenter.Instance.IsOpen("DogzDungeonWin"))
-            {
-                if (containBox)
-                {
-                    RequestBoxSurplusInfo();
-                }
-
-                if (containElite)
-                {
-                    RequestEliteSurplusInfo();
-                }
-            }
-        }
-
-        public void OnPlayerLoginOk()
-        {
-            UpdateRedpoint();
-        }
-
-        private void OnFunctionStateChange(int id)
-        {
-            if (id == 138)
-            {
-                UpdateRedpoint();
-            }
-        }
-
-        private void UpdateRedpoint()
-        {
-            if (!FuncOpen.Instance.IsFuncOpen(138))
-            {
-                redpoint.count = 0;
-            }
-            else
-            {
-                var wearyValueLimit = GeneralDefine.bossWearyValues[2];
-                var count = (wearyValueLimit - wearyValue) + (GeneralDefine.dogzBoxLimit - bigBoxCollectCount);
-                redpoint.count = count;
-            }
-
-            redpoint.state = redpoint.count > 0 ? RedPointState.Quantity : RedPointState.None;
-        }
-
-        private void ParseConfig()
-        {
-            var configs = DogzDungeonConfig.GetValues();
-            foreach (var config in configs)
-            {
-                switch (config.MonsterType)
-                {
-                    case 1:
-                        bigBoxNpcId = config.NPCID;
-                        break;
-                    case 2:
-                        smallBoxNpcId = config.NPCID;
-                        break;
-                    case 3:
-                        eliteMonsters.Add(config.NPCID);
-                        break;
-                    case 4:
-                        bosses[config.NPCID] = new DogzDungeonBossData(config.NPCID);
-                        sortedBossIds.Add(config.NPCID);
-                        break;
-                }
-            }
-
-            sortedBossIds.Sort(DogzDungeonBossData.LevelCompare);
-        }
-
-    }
-
-    public class DogzDungeonBox
-    {
-        public int bigBoxSurplus;
-        public int smallBoxSurplus;
-        public DateTime refreshTime { get; private set; }
-
-        public event Action refreshTimeEvent;
-
-        public void UpdateBoxInfo(int _big, int _small)
-        {
-            bigBoxSurplus = _big;
-            smallBoxSurplus = _small;
-        }
-
-        public void UpdateBoxRefreshTime(int _seconds)
-        {
-            refreshTime = TimeUtility.ServerNow + new TimeSpan(_seconds * TimeSpan.TicksPerSecond);
-            if (refreshTimeEvent != null)
-            {
-                refreshTimeEvent();
-            }
-        }
-    }
-
-    public class DogzDungeonElite
-    {
-        public Dictionary<int, int> eliteCounts = new Dictionary<int, int>();
-        public int eliteSurplus {
-            get {
-                var count = 0;
-                foreach (var eliteCount in eliteCounts.Values)
-                {
-                    count += eliteCount;
-                }
-                return count;
-            }
-        }
-
-        public DateTime refreshTime { get; private set; }
-        public event Action refreshTimeEvent;
-
-        public void UpdateEliteInfo(int _npcId, int _count)
-        {
-            eliteCounts[_npcId] = _count;
-        }
-
-        public void UpdateEliteRefreshTime(int _seconds)
-        {
-            refreshTime = TimeUtility.ServerNow + new TimeSpan(_seconds * TimeSpan.TicksPerSecond);
-            if (refreshTimeEvent != null)
-            {
-                refreshTimeEvent();
-            }
-        }
-
-        public int GetAliveElite()
-        {
-            foreach (var EliteCount in eliteCounts)
-            {
-                if (EliteCount.Value > 0)
-                {
-                    return EliteCount.Key;
-                }
-            }
-
-            return 0;
-        }
-    }
-
-    public class DogzDungeonBossData
-    {
-        public int id { get; private set; }
-        public bool isUnLocked {
-            get {
-                return true;
-            }
-        }
-
-        public DogzDungeonBossData(int _id)
-        {
-            this.id = _id;
-        }
-
-        public static int LevelCompare(int a, int b)
-        {
-            var configA = NPCConfig.Get(a);
-            var configB = NPCConfig.Get(b);
-
-            return configA.NPCLV < configB.NPCLV ? -1 : 1;
-        }
-    }
-
-}
-
diff --git a/System/DogzDungeon/DogzDungeonModel.cs.meta b/System/DogzDungeon/DogzDungeonModel.cs.meta
deleted file mode 100644
index 3daa7b5..0000000
--- a/System/DogzDungeon/DogzDungeonModel.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 978a73f0055381a48aef1e53492b7407
-timeCreated: 1534559596
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/System/DogzDungeon/DogzDungeonWin.cs b/System/DogzDungeon/DogzDungeonWin.cs
deleted file mode 100644
index e60a260..0000000
--- a/System/DogzDungeon/DogzDungeonWin.cs
+++ /dev/null
@@ -1,339 +0,0 @@
-锘�//--------------------------------------------------------
-//    [Author]:           绗簩涓栫晫
-//    [  Date ]:           Saturday, August 18, 2018
-//--------------------------------------------------------
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-
-
-namespace Snxxz.UI
-{
-
-    public class DogzDungeonWin : Window
-    {
-        [SerializeField] CyclicScroll m_Bosses;
-        [SerializeField] DogzBoxBehaviour m_BoxBehaviour;
-        [SerializeField] DogzEliteMonsterBehaviour m_EliteMonsterBehaviour;
-        [SerializeField] BossIntroduceBehaviour m_BossIntroduce;
-
-        [SerializeField] Button m_Goto;
-        [SerializeField] ImageEx m_ImageGoto;
-        [SerializeField] Button m_KillRecord;
-        [SerializeField] Transform m_SurpassLevel;
-        [SerializeField] RectTransform m_NoDamageTip;
-        [SerializeField] ToggleButton m_Subscribe;
-
-        [SerializeField] RectTransform m_ContainerBoxCollectWeary;
-        [SerializeField] TextEx m_BoxCollectWearyValue;
-        [SerializeField] RectTransform m_ContainerBossKillWeary;
-        [SerializeField] TextEx m_BossKillWearyValue;
-
-        DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
-        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
-        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
-        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
-
-        #region Built-in
-        protected override void BindController()
-        {
-        }
-
-        protected override void AddListeners()
-        {
-            m_Goto.AddListener(GotoKillBoss);
-            m_KillRecord.AddListener(ShowKillRecords);
-            m_Subscribe.AddListener(SwitchSubscribeBoss);
-        }
-
-        protected override void OnPreOpen()
-        {
-        }
-
-        protected override void OnAfterOpen()
-        {
-            model.bossSelectedEvent += OnBossSelected;
-            findPreciousModel.bossSubscribeChangeEvent += OnSubscribeBoss;
-        }
-
-        protected override void OnPreClose()
-        {
-            model.bossSelectedEvent -= OnBossSelected;
-            findPreciousModel.bossSubscribeChangeEvent -= OnSubscribeBoss;
-        }
-
-        protected override void OnAfterClose()
-        {
-        }
-
-        protected override void OnActived()
-        {
-            base.OnActived();
-            ShowBosses();
-            model.RequestBoxAndEliteSurplusInfo();
-        }
-        #endregion
-
-        private void ShowBosses()
-        {
-            var bosses = model.GetNpcIds();
-            model.selectedBoss = model.GetRecommendNpc();
-            m_Bosses.Init(bosses);
-            m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
-
-            DisplayItemDropTip(model.selectedBoss);
-            DisplayBossBaseInfo(model.selectedBoss);
-            DisplaySkillTimes(model.selectedBoss);
-        }
-
-        private void ShowKillRecords()
-        {
-            findPreciousModel.ViewKillRecordsBoss = model.selectedBoss;
-            WindowCenter.Instance.Open<KillRecordsWin>();
-        }
-
-        private void SwitchSubscribeBoss()
-        {
-            if (findPreciousModel.IsBossSubscribed(model.selectedBoss))
-            {
-                findPreciousModel.RequestDeSubscribeBoss(model.selectedBoss);
-            }
-            else
-            {
-                findPreciousModel.RequestSubscribeBoss(model.selectedBoss, false);
-            }
-        }
-
-        private void GotoKillBoss()
-        {
-            var error = 0;
-            if (TestGotoKillBoss(out error))
-            {
-                if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID)
-                {
-                    WindowJumpMgr.Instance.ClearJumpData();
-                    WindowCenter.Instance.Close<LootPreciousFrameWin>();
-                    WindowCenter.Instance.Open<MainInterfaceWin>();
-                }
-
-                var config = DogzDungeonConfig.Get(model.selectedBoss);
-                switch (config.MonsterType)
-                {
-                    case 1:
-                    case 2:
-                    case 3:
-                        if (PlayerDatas.Instance.baseData.MapID != DogzDungeonModel.DATA_MAPID)
-                        {
-                            var map = MapConfig.Get(DogzDungeonModel.DATA_MAPID);
-                            var position = new Vector3(map.BornPoints[0].x, 0, map.BornPoints[0].y);
-                            MapTransferUtility.Instance.Clear();
-                            MapTransferUtility.Send_WorldTransfer(DogzDungeonModel.DATA_MAPID, position, MapTransferType.WorldTransport, 0, 0);
-                        }
-                        break;
-                    case 4:
-                        MapTransferUtility.Instance.MoveToNPC(model.selectedBoss);
-                        break;
-                }
-            }
-            else
-            {
-                ProcessGotoKillBossError(error);
-            }
-        }
-
-        private bool TestGotoKillBoss(out int error)
-        {
-            var mapId = PlayerDatas.Instance.baseData.MapID;
-            var dataMapId = dungeonModel.GetDataMapIdByMapId(mapId);
-
-            if (dataMapId == BossHomeModel.BOSSHOME_MAPID || dataMapId == ElderGodAreaModel.ELDERGODAREA_MAPID)
-            {
-                error = 1;
-                return false;
-            }
-
-            var mapConfig = MapConfig.Get(mapId);
-            if (mapConfig.MapFBType != (int)MapType.OpenCountry)
-            {
-                error = 2;
-                return false;
-            }
-
-            if (CrossServerUtility.IsCrossServer())
-            {
-                error = 3;
-                return false;
-            }
-
-            error = 0;
-            return true;
-        }
-
-        private void ProcessGotoKillBossError(int _error)
-        {
-            switch (_error)
-            {
-                case 1:
-                    var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
-                    var config = DungeonOpenTimeConfig.Get(dataMapId);
-                    var tip = string.Empty;
-
-                    if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
-                    {
-                        var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
-                        var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1);
-                        if (vipLevel < vipNeed)
-                        {
-                            var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1);
-                            var dungeonId = dungeonModel.GetDungeonId(BossHomeModel.BOSSHOME_MAPID, PlayerDatas.Instance.baseData.dungeonLineId);
-                            var dungeonConfig = DungeonConfig.Get(dungeonId);
-                            tip = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed);
-                        }
-                        else
-                        {
-                            tip = Language.Get(config.ExitDescription);
-                        }
-                    }
-                    else
-                    {
-                        tip = Language.Get(config.ExitDescription);
-                    }
-
-                    ConfirmCancel.ShowPopConfirm(
-                        Language.Get("Mail101"),
-                        tip,
-                        (bool _ok) =>
-                        {
-                            if (_ok)
-                            {
-                                WindowCenter.Instance.Close<FindPreciousFrameWin>();
-                                MapTransferUtility.Instance.MoveToNPC(model.selectedBoss);
-                            }
-                        }
-                        );
-                    break;
-                case 2:
-                    SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo");
-                    break;
-                case 3:
-                    SysNotifyMgr.Instance.ShowTip("CrossMap10");
-                    break;
-            }
-        }
-
-        private void OnSubscribeBoss(int _bossId)
-        {
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
-        }
-
-        private void OnBossSelected(int _bossId)
-        {
-            DisplayItemDropTip(_bossId);
-            DisplayBossBaseInfo(_bossId);
-            DisplaySkillTimes(_bossId);
-        }
-
-        private void DisplayBossBaseInfo(int _bossId)
-        {
-            var config = DogzDungeonConfig.Get(_bossId);
-            switch (config.MonsterType)
-            {
-                case 1:
-                case 2:
-                    m_KillRecord.gameObject.SetActive(false);
-                    m_BossIntroduce.Dispose();
-                    m_BossIntroduce.gameObject.SetActive(false);
-                    m_EliteMonsterBehaviour.Dispose();
-                    m_EliteMonsterBehaviour.gameObject.SetActive(false);
-                    m_BoxBehaviour.gameObject.SetActive(true);
-                    m_BoxBehaviour.Display();
-                    break;
-                case 3:
-                    m_KillRecord.gameObject.SetActive(false);
-                    m_BossIntroduce.Dispose();
-                    m_BossIntroduce.gameObject.SetActive(false);
-                    m_BoxBehaviour.gameObject.SetActive(false);
-                    m_BoxBehaviour.Dispose();
-
-                    m_EliteMonsterBehaviour.gameObject.SetActive(true);
-                    m_EliteMonsterBehaviour.Display();
-                    break;
-                case 4:
-                    m_KillRecord.gameObject.SetActive(true);
-                    m_BoxBehaviour.Dispose();
-                    m_BoxBehaviour.gameObject.SetActive(false);
-                    m_EliteMonsterBehaviour.Dispose();
-                    m_EliteMonsterBehaviour.gameObject.SetActive(false);
-
-                    m_BossIntroduce.gameObject.SetActive(true);
-                    m_BossIntroduce.Display(_bossId, true);
-                    m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId);
-                    break;
-            }
-        }
-
-        private void DisplayItemDropTip(int bossId)
-        {
-            var config = DogzDungeonConfig.Get(bossId);
-            switch (config.MonsterType)
-            {
-                case 1:
-                case 2:
-                case 3:
-                    m_NoDamageTip.gameObject.SetActive(true);
-                    m_SurpassLevel.gameObject.SetActive(false);
-                    break;
-                case 4:
-                    var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-                    var npcConfig = NPCConfig.Get(bossId);
-
-                    if (npcConfig.Realm > realmLevel)
-                    {
-                        m_NoDamageTip.gameObject.SetActive(true);
-                        m_SurpassLevel.gameObject.SetActive(false);
-                    }
-                    else
-                    {
-                        m_NoDamageTip.gameObject.SetActive(false);
-                        var dropConfig = NPCDropItemConfig.Get(bossId);
-                        var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV);
-                        m_SurpassLevel.gameObject.SetActive(noDrop);
-                    }
-                    break;
-            }
-        }
-
-        private void DisplaySkillTimes(int _bossId)
-        {
-            var config = DogzDungeonConfig.Get(model.selectedBoss);
-            switch (config.MonsterType)
-            {
-                case 1:
-                case 2:
-                    m_ContainerBoxCollectWeary.gameObject.SetActive(true);
-                    m_ContainerBossKillWeary.gameObject.SetActive(false);
-                    var bigBoxCollectCountLimit = GeneralDefine.dogzBoxLimit;
-                    m_BoxCollectWearyValue.text = StringUtility.Contact(model.bigBoxCollectCount, "/", bigBoxCollectCountLimit);
-                    m_BoxCollectWearyValue.colorType = model.bigBoxCollectCount >= bigBoxCollectCountLimit ? TextColType.Red : TextColType.DarkGreen;
-                    break;
-                case 3:
-                case 4:
-                    m_ContainerBoxCollectWeary.gameObject.SetActive(false);
-                    m_ContainerBossKillWeary.gameObject.SetActive(true);
-                    var wearyValueLimit = GeneralDefine.bossWearyValues[2];
-                    m_BossKillWearyValue.text = Language.Get("WorldBoss_Endurance0", wearyValueLimit - model.wearyValue);
-                    m_BossKillWearyValue.colorType = model.wearyValue >= wearyValueLimit ? TextColType.Red : TextColType.DarkGreen;
-                    break;
-            }
-        }
-
-    }
-
-}
-
-
-
-
diff --git a/System/DogzDungeon/DogzDungeonWin.cs.meta b/System/DogzDungeon/DogzDungeonWin.cs.meta
deleted file mode 100644
index 6c8005a..0000000
--- a/System/DogzDungeon/DogzDungeonWin.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: e5074977b4d949f40b8568222ecfc23b
-timeCreated: 1534559453
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/System/DogzDungeon/DogzEliteMonsterBehaviour.cs b/System/DogzDungeon/DogzEliteMonsterBehaviour.cs
deleted file mode 100644
index 532abb7..0000000
--- a/System/DogzDungeon/DogzEliteMonsterBehaviour.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-锘�//--------------------------------------------------------
-//    [Author]:           绗簩涓栫晫
-//    [  Date ]:           Saturday, August 18, 2018
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using UnityEngine.UI;
-
-
-namespace Snxxz.UI
-{
-
-    public class DogzEliteMonsterBehaviour : MonoBehaviour
-    {
-        [SerializeField] Text m_Elite;
-        [SerializeField] RawImage m_RawImage;
-
-        DogzDungeonModel model { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
-
-        public void Display()
-        {
-            timer = 0f;
-            var config = NPCConfig.Get(model.eliteMonsters[0]);
-            UI3DModelExhibition.Instance.ShowNPC(model.eliteMonsters[0], config.UIModeLOffset, config.UIModelRotation, m_RawImage);
-            DisplayGuardSurplusInfo();
-            model.eliteSurplusChangeEvent += OnGuardInfoUpdate;
-        }
-
-        public void Dispose()
-        {
-            model.eliteSurplusChangeEvent -= OnGuardInfoUpdate;
-            UI3DModelExhibition.Instance.StopShow();
-        }
-
-        private void OnGuardInfoUpdate()
-        {
-            DisplayGuardSurplusInfo();
-        }
-
-        private void DisplayGuardSurplusInfo()
-        {
-            var guard = model.dogzDungeonElite;
-            m_Elite.text = guard.eliteSurplus.ToString();
-            m_Elite.color = UIHelper.GetUIColor(guard.eliteSurplus > 0 ? TextColType.White : TextColType.Red);
-        }
-
-        float timer = 0f;
-        private void LateUpdate()
-        {
-            timer += Time.deltaTime;
-            if (timer > 30f)
-            {
-                timer = 0f;
-                model.RequestEliteSurplusInfo();
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/System/DogzDungeon/DogzEliteMonsterBehaviour.cs.meta b/System/DogzDungeon/DogzEliteMonsterBehaviour.cs.meta
deleted file mode 100644
index b5a5ede..0000000
--- a/System/DogzDungeon/DogzEliteMonsterBehaviour.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: e1cbf382b6be57544a7603a6af20a97f
-timeCreated: 1534563304
-licenseType: Pro
-MonoImporter:
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/System/FindPrecious/BossHomeBreifInfoBehaviour.cs b/System/FindPrecious/BossHomeBreifInfoBehaviour.cs
index a76293c..88f6aee 100644
--- a/System/FindPrecious/BossHomeBreifInfoBehaviour.cs
+++ b/System/FindPrecious/BossHomeBreifInfoBehaviour.cs
@@ -6,8 +6,6 @@
 using System.Collections;
 using UnityEngine.UI;
 
-using System;
-
 namespace Snxxz.UI
 {
 
@@ -28,7 +26,8 @@
             get {
                 var config = BossHomeConfig.Get(bossId);
                 var selected = selectedBossId == bossId;
-                var dieOrLocked = config.MonsterType == 2 && !findPreciousModel.IsBossAlive(bossId);
+                var dieOrLocked = config.MonsterType == 2 &&
+                    (!findPreciousModel.IsBossAlive(bossId) || !findPreciousModel.IsBossUnlock(bossId));
 
                 if (!dieOrLocked)
                 {
@@ -55,9 +54,9 @@
 
             var config = BossHomeConfig.Get(bossId);
             var npcConfig = NPCConfig.Get(bossId);
-            DrawBossBaseInfo(config.PortraitID, npcConfig.charName, npcConfig.NPCLV,npcConfig.ClientRealm);
+            DrawBossBaseInfo(config.PortraitID, npcConfig.charName, npcConfig.NPCLV, npcConfig.ClientRealm);
             UpdateBossPortrait(interactorableState);
-            UpdateBossRebornCoolDown(true);
+            UpdateBossRebornCoolDown(isUnLocked);
             OnSelected(bossId);
 
             model.bossSelectedEvent -= OnSelected;
@@ -75,6 +74,25 @@
             UpdateBossNameLevelFont(interactorableState);
         }
 
+        protected override void DrawBossBaseInfo(string icon, string name, int level, int realm)
+        {
+            var bossHomeConfig = BossHomeConfig.Get(bossId);
+            switch (bossHomeConfig.MonsterType)
+            {
+                case 1:
+                    m_Portrait.SetSprite(icon);
+                    m_Portrait.SetNativeSize();
+                    m_BossName.text = name;
+                    m_BossLevel.text = string.Empty;
+                    m_RealmContainer.gameObject.SetActive(false);
+                    m_UnLockCondition.gameObject.SetActive(false);
+                    break;
+                case 2:
+                    base.DrawBossBaseInfo(icon, name, level, realm);
+                    break;
+            }
+        }
+
         protected override void OnSubscribe(int _bossId)
         {
             base.OnSubscribe(_bossId);
diff --git a/System/FindPrecious/BossHomeModel.cs b/System/FindPrecious/BossHomeModel.cs
index ba3235b..602e7c7 100644
--- a/System/FindPrecious/BossHomeModel.cs
+++ b/System/FindPrecious/BossHomeModel.cs
@@ -7,9 +7,10 @@
 namespace Snxxz.UI
 {
     [XLua.LuaCallCSharp]
-	public class BossHomeModel : Model, IMapInitOk
+    public class BossHomeModel : Model, IMapInitOk
     {
         public const int BOSSHOME_MAPID = 31020;
+        public const int BOSSHOME_REDPOINT = 76002;
 
         int m_SelectedFloor = 0;
         public int selectedFloor {
@@ -45,9 +46,24 @@
             }
         }
 
+        int m_WearyValue = 0;
+        public int wearyValue {
+            get { return m_WearyValue; }
+            set {
+                m_WearyValue = value;
+                UpdateRedpoint();
+                if (bossWearyValueChangeEvent != null)
+                {
+                    bossWearyValueChangeEvent();
+                }
+            }
+        }
+
         public event Action<int> bossHomeFloorSelectedEvent;
         public event Action<int> bossSelectedEvent;
+        public event Action bossWearyValueChangeEvent;
 
+        public Redpoint bossHomeRedpoint = new Redpoint(FindPreciousModel.FINDPRECIOUS_REDPOINTID, BOSSHOME_REDPOINT);
         Dictionary<int, BossHomeData> bossHomes = new Dictionary<int, BossHomeData>();
         Dictionary<int, int> vipLackFloorCost = new Dictionary<int, int>();
         List<int> sortedBosses = new List<int>();
@@ -56,10 +72,12 @@
         public override void Init()
         {
             ParseConfig();
+            PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataChange;
         }
 
         public override void UnInit()
         {
+            PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataChange;
         }
 
         public bool TryGetBossHomeData(int _layer, out BossHomeData _data)
@@ -127,6 +145,21 @@
             {
                 return 0;
             }
+        }
+
+        private void OnPlayerDataChange(PlayerDataType _type)
+        {
+            if (_type == PlayerDataType.VIPLv)
+            {
+                UpdateRedpoint();
+            }
+        }
+
+        private void UpdateRedpoint()
+        {
+            var count = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit) - m_WearyValue;
+            bossHomeRedpoint.count = count;
+            bossHomeRedpoint.state = count > 0 ? RedPointState.Quantity : RedPointState.None;
         }
 
         private void ParseConfig()
@@ -200,7 +233,7 @@
 
         public void OnMapInitOk()
         {
-            var dataMapId = ModelCenter.Instance.GetModel<DungeonModel>().GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
+            var dataMapId = MapUtility.GetDataMapId(PlayerDatas.Instance.baseData.MapID);
             if (dataMapId == BOSSHOME_MAPID)
             {
                 MapTransferUtility.Instance.MoveToNPC(selectedBoss);
@@ -213,29 +246,49 @@
         public int id { get; private set; }
         public List<int> bossIds = new List<int>();
 
+        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
+
         public BossHomeData(int _id)
         {
             this.id = _id;
         }
 
+        public List<int> GetShowBosses()
+        {
+            var bosses = new List<int>();
+            for (var i = 0; i < bossIds.Count; i++)
+            {
+                var bossId = bossIds[i];
+                if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId))
+                {
+                    bosses.Add(bossId);
+                }
+            }
+
+            if (bosses.Count == 0)
+            {
+                bosses.Add(bossIds[0]);
+            }
+
+            return bosses;
+        }
+
         public int GetRecommendNpc()
         {
-            var playerLevel = PlayerDatas.Instance.baseData.LV;
-            var recommendNpc = bossIds[bossIds.Count - 1];
-
-            for (int i = 0; i < bossIds.Count; i++)
+            var recommendNpc = bossIds[0];
+            for (var i = bossIds.Count - 1; i >= 0; i--)
             {
-                var bossHomeConfig = BossHomeConfig.Get(bossIds[i]);
-                var npcConfig = NPCConfig.Get(bossIds[i]);
-                if (bossHomeConfig.MonsterType == 2 && playerLevel < npcConfig.NPCLV)
+                var bossId = bossIds[i];
+                var bossHomeConfig = BossHomeConfig.Get(bossId);
+                if (bossHomeConfig.MonsterType == 2 && findPreciousModel.IsBossUnlock(bossId))
                 {
                     recommendNpc = bossIds[i];
                     break;
                 }
             }
+
             return recommendNpc;
         }
-
     }
 
 }
diff --git a/System/FindPrecious/BossHomeWin.cs b/System/FindPrecious/BossHomeWin.cs
index d1821c0..d3548c6 100644
--- a/System/FindPrecious/BossHomeWin.cs
+++ b/System/FindPrecious/BossHomeWin.cs
@@ -28,10 +28,13 @@
         [SerializeField] Transform m_SurpassLevel;
         [SerializeField] RectTransform m_NoDamageTip;
         [SerializeField] ToggleButton m_Subscribe;
+        [SerializeField] RectTransform m_WearyContainer;
+        [SerializeField] TextEx m_WearyValue;
 
         BossHomeModel model { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
 
         #region Built-in
         protected override void BindController()
@@ -50,6 +53,14 @@
             model.selectedFloor = model.GetRecommendFloor();
             m_FloorGroup.Init();
             m_Vip.text = StringUtility.Contact("V", model.GetFloorVipRequirement(model.selectedFloor));
+
+            var wearyValueLimit = vipModel.GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit);
+            m_WearyContainer.gameObject.SetActive(wearyValueLimit > 0);
+            if (wearyValueLimit > 0)
+            {
+                m_WearyValue.text = StringUtility.Contact(model.wearyValue, "/", wearyValueLimit);
+                m_WearyValue.colorType = model.wearyValue >= wearyValueLimit ? TextColType.Red : TextColType.DarkGreen;
+            }
         }
 
         protected override void OnAfterOpen()
@@ -85,7 +96,7 @@
             if (model.TryGetBossHomeData(model.selectedFloor, out bossHomeData))
             {
                 var bosses = new List<int>();
-                bosses.AddRange(bossHomeData.bossIds);
+                bosses.AddRange(bossHomeData.GetShowBosses());
                 model.selectedBoss = bossHomeData.GetRecommendNpc();
                 m_Bosses.Init(bosses);
                 m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
@@ -112,13 +123,14 @@
                 }
 
                 DisplayTip(model.selectedBoss);
-
+                DisplayGotoKillButton(model.selectedBoss);
+                DisplaySubscribe(model.selectedBoss);
             }
         }
 
         private void ShowKillRecords()
         {
-            ModelCenter.Instance.GetModel<FindPreciousModel>().ViewKillRecordsBoss = model.selectedBoss;
+            findPreciousModel.ViewKillRecordsBoss = model.selectedBoss;
             WindowCenter.Instance.Open<KillRecordsWin>();
         }
 
@@ -136,6 +148,13 @@
 
         private void GotoKillBoss()
         {
+            var config = BossHomeConfig.Get(model.selectedBoss);
+            if (config.MonsterType == 2 && !findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss))
+            {
+                SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm);
+                return;
+            }
+
             var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
             if (dataMapId != BossHomeModel.BOSSHOME_MAPID)
             {
@@ -143,7 +162,6 @@
                 return;
             }
 
-            var config = BossHomeConfig.Get(model.selectedBoss);
             if (PlayerDatas.Instance.baseData.dungeonLineId + 1 == config.FloorNum)
             {
                 WindowCenter.Instance.Close<FindPreciousFrameWin>();
@@ -180,7 +198,7 @@
             m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
         }
 
-        private void OnBossSelected(int _bossId)
+        private void OnBossSelected(int bossId)
         {
             StopCoroutine("Co_DelayDisplayNpcBaseInfo");
             StartCoroutine("Co_DelayDisplayNpcBaseInfo");
@@ -193,6 +211,8 @@
             var config = BossHomeConfig.Get(bossId);
 
             DisplayTip(model.selectedBoss);
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
 
             switch (config.MonsterType)
             {
@@ -284,7 +304,7 @@
                 return false;
             }
 
-            var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
+            var dataMapId = MapUtility.GetDataMapId(PlayerDatas.Instance.baseData.MapID);
             if (dataMapId == BossHomeModel.BOSSHOME_MAPID
                 && PlayerDatas.Instance.baseData.dungeonLineId == model.selectedFloor - 1)
             {
@@ -352,10 +372,7 @@
 
         private void DisplayTip(int bossId)
         {
-            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var config = NPCConfig.Get(bossId);
-
-            if (config.Realm > realmLevel)
+            if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId))
             {
                 m_NoDamageTip.gameObject.SetActive(true);
                 m_SurpassLevel.gameObject.SetActive(false);
@@ -369,6 +386,22 @@
             }
         }
 
+        private void DisplayGotoKillButton(int bossId)
+        {
+            var config = BossHomeConfig.Get(model.selectedBoss);
+            var isUnlock = config.MonsterType == 1 || findPreciousModel.IsBossUnlock(model.selectedBoss);
+            m_Goto.gameObject.SetActive(isUnlock);
+        }
+
+        private void DisplaySubscribe(int bossId)
+        {
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
+            m_Subscribe.gameObject.SetActive(isUnLocked);
+            if (isUnLocked)
+            {
+                m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
+            }
+        }
     }
 
 }
diff --git a/System/FindPrecious/BossIntroduceBehaviour.cs b/System/FindPrecious/BossIntroduceBehaviour.cs
index 4399a1e..499d0c6 100644
--- a/System/FindPrecious/BossIntroduceBehaviour.cs
+++ b/System/FindPrecious/BossIntroduceBehaviour.cs
@@ -138,10 +138,6 @@
 
                     newRewards = demonJarConfig.NewItemIds;
                     break;
-                case FindPreciousType.DogzDungeon:
-                    undoubtedlyRewards = DogzDungeonConfig.Get(bossId).RareItemID;
-                    newRewards = DogzDungeonConfig.Get(bossId).NewItemIds;
-                    break;
                 case FindPreciousType.CrossServerBoss:
                     undoubtedlyRewards = CrossServerBossConfig.Get(bossId).RareItemID;
                     newRewards = CrossServerBossConfig.Get(bossId).NewItemIds;
diff --git a/System/FindPrecious/DemonJarBriefInfoBehaviour.cs b/System/FindPrecious/DemonJarBriefInfoBehaviour.cs
index e24574c..41b1bcd 100644
--- a/System/FindPrecious/DemonJarBriefInfoBehaviour.cs
+++ b/System/FindPrecious/DemonJarBriefInfoBehaviour.cs
@@ -27,7 +27,7 @@
         protected override InteractorableState interactorableState {
             get {
                 var selected = selectedBossId == bossId;
-                var dieOrLocked = !model.IsBossUnLocked(bossId) || !findPreciousModel.IsBossAlive(bossId);
+                var dieOrLocked = !findPreciousModel.IsBossUnlock(bossId) || !findPreciousModel.IsBossAlive(bossId);
 
                 if (!dieOrLocked)
                 {
@@ -45,13 +45,7 @@
 
         protected override bool isRebornRightNow {
             get {
-                return model.IsBossUnLocked(bossId) && base.isRebornRightNow;
-            }
-        }
-
-        protected override bool isUnLocked {
-            get {
-                return model.IsBossUnLocked(bossId);
+                return findPreciousModel.IsBossUnlock(bossId) && base.isRebornRightNow;
             }
         }
 
@@ -110,8 +104,7 @@
         protected override void OnBossInfoUpdate(int _bossId)
         {
             base.OnBossInfoUpdate(_bossId);
-            var unLocked = model.IsBossUnLocked(bossId);
-            m_Participant.gameObject.SetActive(unLocked && findPreciousModel.IsBossAlive(bossId));
+            m_Participant.gameObject.SetActive(isUnLocked && findPreciousModel.IsBossAlive(bossId));
         }
 
         private void UpdateBossParticipant(int _bossId)
diff --git a/System/FindPrecious/DemonJarModel.cs b/System/FindPrecious/DemonJarModel.cs
index 4f4f748..edd5681 100644
--- a/System/FindPrecious/DemonJarModel.cs
+++ b/System/FindPrecious/DemonJarModel.cs
@@ -77,7 +77,6 @@
             }
         }
 
-        int demonJarSoulBuf = 0;
         public int demonJarSoulIncreaseDelta { get; set; }
 
         public event Action<int> bossSelectedEvent;
@@ -93,7 +92,6 @@
 
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
-        TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
 
         public override void Init()
         {
@@ -172,10 +170,13 @@
                     continue;
                 }
 
-                bosses.Add(bossId);
+                if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId))
+                {
+                    bosses.Add(bossId);
+                }
             }
 
-            return new List<int>(bosses);
+            return bosses;
         }
 
         public int GetBossIdByLine(int _line)
@@ -190,12 +191,6 @@
             }
         }
 
-        public bool IsBossUnLocked(int _bossId)
-        {
-            var playerLevel = PlayerDatas.Instance.baseData.LV;
-            return demonBosses.ContainsKey(_bossId) && playerLevel >= demonBosses[_bossId].unLockLevel;
-        }
-
         public int GetLatestUnLockBoss()
         {
             if (FuncOpen.Instance.IsFuncOpen(76))
@@ -204,7 +199,7 @@
                 for (int i = sortedBossIds.Count - 1; i >= 0; i--)
                 {
                     var bossId = sortedBossIds[i];
-                    if (demonBosses[bossId].unLockLevel <= PlayerDatas.Instance.baseData.LV)
+                    if (findPreciousModel.IsBossUnlock(bossId))
                     {
                         latestBossId = bossId;
                         break;
@@ -328,17 +323,11 @@
             return new List<AutoChallengeLog>(autoChallengeLogs);
         }
 
-        public void UpdateDemonJarSoul()
-        {
-            //demonJarSoulIncreaseDelta = demonJarSoul - demonJarSoulBuf;
-            //demonJarSoulBuf = demonJarSoul;
-        }
-
         private void OnPlayerLevelUp(PlayerDataType _type)
         {
             switch (_type)
             {
-                case PlayerDataType.LV:
+                case PlayerDataType.RealmLevel:
                     if (FuncOpen.Instance.IsFuncOpen(76))
                     {
                         var bossId = GetLatestUnLockBoss();
@@ -434,35 +423,34 @@
             }
         }
 
-        private void AutoSubscribeLastUnLockBoss(int _bossId)
+        private void AutoSubscribeLastUnLockBoss(int bossId)
         {
-            if (_bossId == 0)
+            if (bossId == 0)
             {
                 return;
             }
 
             foreach (var boss in demonBosses.Values)
             {
-                if (this.findPreciousModel.IsBossAutoSubscribe(boss.id) && boss.id != _bossId)
+                if (this.findPreciousModel.IsBossAutoSubscribe(boss.id) && boss.id != bossId)
                 {
                     this.findPreciousModel.RequestDeSubscribeBoss(boss.id);
                 }
             }
 
-            if (_bossId != 0 && this.findPreciousModel.IsBossNeverSubscribe((int)_bossId))
+            if (bossId != 0 && this.findPreciousModel.IsBossNeverSubscribe(bossId))
             {
-                var npcConfig = NPCConfig.Get((int)_bossId);
-                if (PlayerDatas.Instance.baseData.LV >= npcConfig.NPCLV)
+                if (findPreciousModel.IsBossUnlock(bossId))
                 {
-                    var config = DemonJarConfig.Get((int)_bossId);
+                    var config = DemonJarConfig.Get(bossId);
                     if (config.AutoAttention == 1)
                     {
-                        this.findPreciousModel.RequestSubscribeBoss((int)_bossId, true);
+                        this.findPreciousModel.RequestSubscribeBoss(bossId, true);
                         var model = ModelCenter.Instance.GetModel<DungeonModel>();
                         var grade = model.GetGrade(new Dungeon(DATA_MAPID, config.LineID));
-                        if ((config.CanEnterTimes == 0 || grade == 0) && this.findPreciousModel.IsBossAlive((int)_bossId))
+                        if ((config.CanEnterTimes == 0 || grade == 0) && this.findPreciousModel.IsBossAlive(bossId))
                         {
-                            this.findPreciousModel.AddOneBossRebornNotify(_bossId);
+                            this.findPreciousModel.AddOneBossRebornNotify(bossId);
                         }
                     }
                 }
diff --git a/System/FindPrecious/DemonJarWin.cs b/System/FindPrecious/DemonJarWin.cs
index 9aa1b8f..1a9e3b6 100644
--- a/System/FindPrecious/DemonJarWin.cs
+++ b/System/FindPrecious/DemonJarWin.cs
@@ -30,7 +30,6 @@
 
         [SerializeField] RectTransform m_ContainerDouble;
         [SerializeField] Button m_BtnAutoAndDouble;
-        [SerializeField] Text m_AutoAndDoubleTitle;
 
         DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
@@ -70,8 +69,6 @@
             dungeonModel.dungeonRecordChangeEvent += OnRemaintimeUpdate;
             dungeonModel.countRemainTimeChangeEvent += OnRemaintimeUpdate;
             dungeonModel.updateDungeonBuyCnt += OnBuyTimesOk;
-            model.doubleAwardChangeEvent += OnDoubleAwardChange;
-            model.autoChallengeChangeEvent += OnAutoChallengeChange;
         }
 
         protected override void OnPreClose()
@@ -82,8 +79,6 @@
             dungeonModel.dungeonRecordChangeEvent -= OnRemaintimeUpdate;
             dungeonModel.countRemainTimeChangeEvent -= OnRemaintimeUpdate;
             dungeonModel.updateDungeonBuyCnt -= OnBuyTimesOk;
-            model.doubleAwardChangeEvent -= OnDoubleAwardChange;
-            model.autoChallengeChangeEvent -= OnAutoChallengeChange;
         }
 
         protected override void OnAfterClose()
@@ -96,7 +91,6 @@
             ShowBosses();
             model.lockSelectedBoss = false;
 
-            DisplayAutoAndDoubleTitle();
             CheckTaskGuide();
             CheckAchievementGuideByTimes();
             CheckAchievementGuideKillBoss();
@@ -111,36 +105,18 @@
             if (!model.lockSelectedBoss)
             {
                 var targetBoss = model.GetLatestUnLockBoss();
-                if (!findPreciousModel.IsBossAlive(targetBoss))
-                {
-                    var priorConfig = NPCConfig.Get(targetBoss);
-                    if (priorConfig.NPCLV <= GeneralDefine.demonJarLevelLimit)
-                    {
-                        targetBoss = bosses[0];
-                        for (int i = bosses.Count - 1; i >= 0; i--)
-                        {
-                            var bossId = bosses[i];
-                            var npcConfig = NPCConfig.Get(bossId);
-                            if (npcConfig.NPCLV <= priorConfig.NPCLV && findPreciousModel.IsBossAlive(bossId))
-                            {
-                                targetBoss = bossId;
-                                break;
-                            }
-                        }
-                    }
-                }
-
                 model.selectedBoss = targetBoss;
             }
 
             DemonJarBossData bossData;
             model.TryGetBossData(model.selectedBoss, out bossData);
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
 
             m_BossIntroduce.Display(model.selectedBoss, true);
             m_Bosses.Init(bosses);
             m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
 
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
             DisplayTip(model.selectedBoss);
         }
 
@@ -193,26 +169,6 @@
             }
         }
 
-        private void OnDoubleAwardChange()
-        {
-            DisplayAutoAndDoubleTitle();
-        }
-
-        private void OnAutoChallengeChange()
-        {
-            DisplayAutoAndDoubleTitle();
-        }
-
-        private void DisplayAutoAndDoubleTitle()
-        {
-            var config = DemonJarConfig.Get(model.selectedBoss);
-            var doubleAllow = config.CanEnterTimes == 0;
-            var doubleString = UIHelper.AppendColor(model.isDoubleAward && doubleAllow ? TextColType.Green : TextColType.NavyBrown, Language.Get("DemonJarDoubleWord"), true);
-            var autoString = UIHelper.AppendColor(model.autoChallenge ? TextColType.Green : TextColType.NavyBrown, Language.Get("DemonJarAutoWord"), true);
-
-            m_AutoAndDoubleTitle.text = StringUtility.Contact(autoString, "/", doubleString);
-        }
-
         private void GotoKillBoss()
         {
             var error = 0;
@@ -240,7 +196,9 @@
                         DemonJarBossData bossData = null;
                         if (model.TryGetBossData(model.selectedBoss, out bossData))
                         {
-                            SysNotifyMgr.Instance.ShowTip("DemonJarLvChallenge", bossData.unLockLevel);
+                            var config = NPCConfig.Get(model.selectedBoss);
+                            var realmConfig = RealmConfig.Get(config.Realm);
+                            SysNotifyMgr.Instance.ShowTip("DemonJarLvChallenge", realmConfig.Name);
                         }
                         break;
                     case 2:
@@ -272,6 +230,9 @@
                                     model.doubleToKillLowerBossHint = false;
                                 }
                             });
+                        break;
+                    case 6:
+                        SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm);
                         break;
                 }
             }
@@ -324,10 +285,16 @@
 
         private bool TestEnterDungeon(out int _error)
         {
+            if (findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss))
+            {
+                _error = 6;
+                return false;
+            }
+
             DemonJarBossData bossData = null;
             if (model.TryGetBossData(model.selectedBoss, out bossData))
             {
-                if (PlayerDatas.Instance.baseData.LV < bossData.unLockLevel)
+                if (findPreciousModel.IsBossUnlock(model.selectedBoss))
                 {
                     _error = 1;
                     return false;
@@ -367,7 +334,6 @@
         private void OnBossSelected(int bossId)
         {
             m_BossIntroduce.Display(bossId, false);
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
 
             DemonJarBossData bossData;
             model.TryGetBossData(bossId, out bossData);
@@ -375,8 +341,9 @@
             var config = DemonJarConfig.Get(model.selectedBoss);
             m_RewardDescription.text = Language.Get(config.RewardDescription);
 
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
             DisplayTip(bossId);
-            DisplayAutoAndDoubleTitle();
         }
 
         private void CheckAchievementGuideByTimes()
@@ -421,10 +388,7 @@
 
         private void DisplayTip(int bossId)
         {
-            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var config = NPCConfig.Get(bossId);
-
-            if (config.Realm > realmLevel)
+            if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId))
             {
                 m_NoDamageTip.gameObject.SetActive(true);
                 m_SurpassLevel.gameObject.SetActive(false);
@@ -438,6 +402,21 @@
             }
         }
 
+        private void DisplayGotoKillButton(int bossId)
+        {
+            var isUnlock = findPreciousModel.IsBossUnlock(model.selectedBoss);
+            m_Goto.gameObject.SetActive(isUnlock);
+        }
+
+        private void DisplaySubscribe(int bossId)
+        {
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
+            m_Subscribe.gameObject.SetActive(isUnLocked);
+            if (isUnLocked)
+            {
+                m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
+            }
+        }
 
     }
 
diff --git a/System/FindPrecious/ElderGodAreaModel.cs b/System/FindPrecious/ElderGodAreaModel.cs
index 5721956..22dada0 100644
--- a/System/FindPrecious/ElderGodAreaModel.cs
+++ b/System/FindPrecious/ElderGodAreaModel.cs
@@ -7,7 +7,7 @@
 namespace Snxxz.UI
 {
     [XLua.LuaCallCSharp]
-	public class ElderGodAreaModel : Model, IMapInitOk
+    public class ElderGodAreaModel : Model, IMapInitOk
     {
 
         public const int ELDERGODAREA_MAPID = 31150;
@@ -80,47 +80,36 @@
             }
         }
 
-        public bool IsBossUnLocked(int _bossId)
-        {
-            var config = ElderGodAreaConfig.Get(_bossId);
-            if (config == null)
-            {
-                return false;
-            }
-
-            if (config.MonsterType == 1)
-            {
-                return true;
-            }
-            else
-            {
-                var playerLevel = PlayerDatas.Instance.baseData.LV;
-                return elderGodBosses.ContainsKey(_bossId) && playerLevel >= elderGodBosses[_bossId].unLockLevel;
-            }
-        }
-
         public List<int> GetElderGodNpces()
         {
             var bosses = new List<int>();
             bosses.Add(sortedElites[0]);
-            bosses.AddRange(sortedBossIds);
+            for (int i = 0; i < sortedBossIds.Count; i++)
+            {
+                bosses.Add(sortedBossIds[i]);
+            }
+
             return bosses;
         }
 
         public List<int> GetElderGodBosses()
         {
             var bosses = new List<int>();
-            bosses.AddRange(sortedBossIds);
+            for (int i = 0; i < sortedBossIds.Count; i++)
+            {
+                bosses.Add(sortedBossIds[i]);
+            }
             return bosses;
         }
 
         public int GetRecommendNpc()
         {
-            foreach (var item in sortedBossIds)
+            for (var i = sortedBossIds.Count - 1; i >= 0; i--)
             {
-                if (findPreciousModel.IsBossAlive(item))
+                var bossId = sortedBossIds[i];
+                if (findPreciousModel.IsBossUnlock(bossId) && findPreciousModel.IsBossAlive(bossId))
                 {
-                    return item;
+                    return bossId;
                 }
             }
 
diff --git a/System/FindPrecious/ElderGodAreaWin.cs b/System/FindPrecious/ElderGodAreaWin.cs
index 0cf358f..ed2ba58 100644
--- a/System/FindPrecious/ElderGodAreaWin.cs
+++ b/System/FindPrecious/ElderGodAreaWin.cs
@@ -77,13 +77,14 @@
         {
             var bosses = new List<int>();
             bosses.AddRange(model.GetElderGodNpces());
-
             model.selectedBoss = model.GetRecommendNpc();
-            DisplayNpcBaseInfo(true);
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
+
             m_Bosses.Init(bosses);
             m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
 
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
+            DisplayNpcBaseInfo(true);
             DisplayTip(model.selectedBoss);
         }
 
@@ -117,12 +118,22 @@
                     case 3:
                         SysNotifyMgr.Instance.ShowTip("DungeonNoGO");
                         break;
+                    case 4:
+                        SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm);
+                        break;
                 }
             }
         }
 
         private bool TestEnterDungeon(out int _error)
         {
+            var config = ElderGodAreaConfig.Get(model.selectedBoss);
+            if (config.MonsterType == 2 && !findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss))
+            {
+                _error = 4;
+                return false;
+            }
+
             var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
             if (dataMapId == ElderGodAreaModel.ELDERGODAREA_MAPID)
             {
@@ -170,9 +181,6 @@
         {
             StopCoroutine("Co_DelayDisplayNpcBaseInfo");
             StartCoroutine("Co_DelayDisplayNpcBaseInfo");
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
-
-            DisplayTip(bossId);
         }
 
         private void DisplayNpcBaseInfo(bool immediately)
@@ -201,7 +209,11 @@
         IEnumerator Co_DelayDisplayNpcBaseInfo()
         {
             yield return WaitingForSecondConst.WaitMS300;
-            DisplayNpcBaseInfo(false);
+
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
+            DisplayTip(model.selectedBoss);
+            DisplayNpcBaseInfo(true);
         }
 
         private void CheckAchievementGuide()
@@ -221,10 +233,7 @@
 
         private void DisplayTip(int bossId)
         {
-            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var config = NPCConfig.Get(bossId);
-
-            if (config.Realm > realmLevel)
+            if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId))
             {
                 m_NoDamageTip.gameObject.SetActive(true);
             }
@@ -234,6 +243,23 @@
             }
         }
 
+        private void DisplayGotoKillButton(int bossId)
+        {
+            var config = ElderGodAreaConfig.Get(model.selectedBoss);
+            var isUnlock = config.MonsterType == 1 || findPreciousModel.IsBossUnlock(model.selectedBoss);
+            m_Goto.gameObject.SetActive(isUnlock);
+        }
+
+        private void DisplaySubscribe(int bossId)
+        {
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
+            m_Subscribe.gameObject.SetActive(isUnLocked);
+            if (isUnLocked)
+            {
+                m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
+            }
+        }
+
     }
 
 }
diff --git a/System/FindPrecious/ElderGodBreifInfoBehaviour.cs b/System/FindPrecious/ElderGodBreifInfoBehaviour.cs
index 185fb56..d429e2d 100644
--- a/System/FindPrecious/ElderGodBreifInfoBehaviour.cs
+++ b/System/FindPrecious/ElderGodBreifInfoBehaviour.cs
@@ -28,7 +28,8 @@
             get {
                 var selected = selectedBossId == bossId;
                 var config = ElderGodAreaConfig.Get(bossId);
-                var dieOrLocked = config.MonsterType == 2 && (!model.IsBossUnLocked(bossId) || !findPreciousModel.IsBossAlive(bossId));
+                var dieOrLocked = config.MonsterType == 2 
+                    && (!findPreciousModel.IsBossUnlock(bossId) || !findPreciousModel.IsBossAlive(bossId));
 
                 if (!dieOrLocked)
                 {
@@ -57,7 +58,7 @@
             var npcConfig = NPCConfig.Get(bossId);
             DrawBossBaseInfo(config.PortraitID, npcConfig.charName, npcConfig.NPCLV, npcConfig.ClientRealm);
             UpdateBossPortrait(interactorableState);
-            UpdateBossRebornCoolDown(true);
+            UpdateBossRebornCoolDown(isUnLocked);
             OnSelected(bossId);
 
             model.bossSelectedEvent -= OnSelected;
@@ -75,38 +76,22 @@
             UpdateBossNameLevelFont(interactorableState);
         }
 
-        protected override void DrawBossBaseInfo(string _icon, string _name, int _level, int _realm)
+        protected override void DrawBossBaseInfo(string icon, string name, int level, int realm)
         {
             var config = ElderGodAreaConfig.Get(bossId);
-            m_Portrait.SetSprite(_icon);
-            m_Portrait.SetNativeSize();
 
             switch (config.MonsterType)
             {
                 case 1:
+                    m_Portrait.SetSprite(icon);
+                    m_Portrait.SetNativeSize();
                     m_BossName.text = Language.Get("ElderGodMonster");
                     m_BossLevel.text = string.Empty;
                     m_RealmContainer.gameObject.SetActive(false);
+                    m_UnLockCondition.gameObject.SetActive(false);
                     break;
                 case 2:
-                    m_BossName.text = _name;
-                    m_BossLevel.text = Language.Get("Z1024", _level);
-                    if (m_Realm != null && m_RealmContainer != null)
-                    {
-                        if (_realm > 0 && RealmConfig.Has(_realm))
-                        {
-                            m_RealmContainer.gameObject.SetActive(true);
-                            var realmConfig = RealmConfig.Get(_realm);
-                            if (realmConfig != null)
-                            {
-                                m_Realm.SetSprite(realmConfig.Img);
-                            }
-                        }
-                        else
-                        {
-                            m_RealmContainer.gameObject.SetActive(false);
-                        }
-                    }
+                    base.DrawBossBaseInfo(icon, name, level, realm);
                     break;
                 default:
                     break;
diff --git a/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs b/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
index 1dfdcf5..0610097 100644
--- a/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
+++ b/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
@@ -25,6 +25,8 @@
         [SerializeField] protected TextEx m_BossLevel;
         [SerializeField] protected RectTransform m_RealmContainer;
         [SerializeField] protected Image m_Realm;
+        [SerializeField] protected RectTransform m_UnLockCondition;
+        [SerializeField] protected Image m_UnLockRealm;
         [SerializeField] protected TimerBehaviour m_CoolDown;
         [SerializeField] protected Transform m_RefreshAtOnce;
         [SerializeField] protected Material m_NormalMaterial;
@@ -46,20 +48,23 @@
 
         protected virtual bool isRebornRightNow {
             get {
-                FindPreciousModel.BossInfo bossInfo = null;
-                if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo))
-                {
-                    return !findPreciousModel.IsBossAlive(bossId) && TimeUtility.ServerNow > bossInfo.refreshTime;
-                }
-                else
+                if (!findPreciousModel.IsBossUnlock(bossId))
                 {
                     return false;
                 }
+
+                FindPreciousModel.BossInfo bossInfo = null;
+                if (!findPreciousModel.TryGetBossInfo(bossId, out bossInfo))
+                {
+                    return false;
+                }
+
+                return !findPreciousModel.IsBossAlive(bossId) && TimeUtility.ServerNow > bossInfo.refreshTime;
             }
         }
 
         protected virtual bool isUnLocked {
-            get { return true; }
+            get { return findPreciousModel.IsBossUnlock(bossId); }
         }
 
         protected FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
@@ -83,27 +88,38 @@
             findPreciousModel.bossInfoUpdateEvent -= OnBossInfoUpdate;
         }
 
-        protected virtual void DrawBossBaseInfo(string _icon, string _name, int _level, int _realm)
+        protected virtual void DrawBossBaseInfo(string icon, string name, int level, int realm)
         {
-            m_Portrait.SetSprite(_icon);
+            m_Portrait.SetSprite(icon);
             m_Portrait.SetNativeSize();
-            m_BossName.text = _name;
-            m_BossLevel.text = Language.Get("Z1024", _level);
+            this.m_BossName.text = name;
+            m_BossLevel.text = Language.Get("Z1024", level);
 
-            if (m_Realm != null && m_RealmContainer != null)
+            m_RealmContainer.gameObject.SetActive(isUnLocked);
+            m_UnLockCondition.gameObject.SetActive(!isUnLocked);
+            if (!isUnLocked)
             {
-                if (_realm > 0 && RealmConfig.Has(_realm))
+                var unLockRealm = findPreciousModel.GetBossUnLockRealm(bossId);
+                var config = RealmConfig.Get(unLockRealm);
+                m_UnLockRealm.SetSprite(config.Img);
+            }
+            else
+            {
+                if (m_Realm != null && m_RealmContainer != null)
                 {
-                    m_RealmContainer.gameObject.SetActive(true);
-                    var realmConfig = RealmConfig.Get(_realm);
-                    if (realmConfig != null)
+                    if (realm > 0 && RealmConfig.Has(realm))
                     {
-                        m_Realm.SetSprite(realmConfig.Img);
+                        m_RealmContainer.gameObject.SetActive(true);
+                        var realmConfig = RealmConfig.Get(realm);
+                        if (realmConfig != null)
+                        {
+                            m_Realm.SetSprite(realmConfig.Img);
+                        }
                     }
-                }
-                else
-                {
-                    m_RealmContainer.gameObject.SetActive(false);
+                    else
+                    {
+                        m_RealmContainer.gameObject.SetActive(false);
+                    }
                 }
             }
         }
@@ -171,7 +187,6 @@
             }
 
             m_Selected.gameObject.SetActive(selected);
-            //m_BackGround.SetSprite(selected ? "DemonJarSelectFrame" : "DemonJarNormalFrame");
 
             var fontPattern = string.Empty;
             switch (_state)
diff --git a/System/FindPrecious/FindPreciousBossRebornBehaviour.cs b/System/FindPrecious/FindPreciousBossRebornBehaviour.cs
index fbf738e..f48ef7e 100644
--- a/System/FindPrecious/FindPreciousBossRebornBehaviour.cs
+++ b/System/FindPrecious/FindPreciousBossRebornBehaviour.cs
@@ -120,9 +120,6 @@
                     break;
                 case FindPreciousType.PersonalBoss:
                     break;
-                case FindPreciousType.DogzDungeon:
-                    GotoKillDogzDungeonBoss(bossId);
-                    break;
                 case FindPreciousType.CrossServerBoss:
                     GotoKillCrossServerBoss(bossId);
                     break;
@@ -277,27 +274,6 @@
                 }
             }
 
-        }
-
-        private void GotoKillDogzDungeonBoss(int _bossId)
-        {
-            if (CrossServerUtility.IsCrossServer())
-            {
-                SysNotifyMgr.Instance.ShowTip("CrossMap10");
-                return;
-            }
-
-            var mapId = PlayerDatas.Instance.baseData.MapID;
-            var mapConfig = MapConfig.Get(mapId);
-
-            if (mapConfig.MapFBType == (int)MapType.OpenCountry)
-            {
-                MapTransferUtility.Instance.MoveToNPC(_bossId);
-            }
-            else
-            {
-                SysNotifyMgr.Instance.ShowTip("InDungeon_CantGo");
-            }
         }
 
         private void GotoKillCrossServerBoss(int _bossId)
diff --git a/System/FindPrecious/FindPreciousModel.cs b/System/FindPrecious/FindPreciousModel.cs
index 6f543ce..75c33d4 100644
--- a/System/FindPrecious/FindPreciousModel.cs
+++ b/System/FindPrecious/FindPreciousModel.cs
@@ -55,8 +55,8 @@
         WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
         BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
         PersonalBossModel personalBossModel { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } }
-        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
         JadeDynastyBossModel jadeDynastyBossModel { get { return ModelCenter.Instance.GetModel<JadeDynastyBossModel>(); } }
+        RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
 
         public override void Init()
         {
@@ -259,6 +259,60 @@
             return bossInfos.TryGetValue(_bossId, out _bossInfo);
         }
 
+        public bool IsBossUnlock(int bossId)
+        {
+            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+            var myRealmStage = realmModel.GetRealmStage(myRealmLevel);
+
+            var config = NPCConfig.Get(bossId);
+            var bossRealmStage = realmModel.GetRealmStage(config.Realm);
+
+            return myRealmStage >= bossRealmStage;
+        }
+
+        public bool IsBossUnlockOrUnlockSoon(int bossId)
+        {
+            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+            var myRealmStage = realmModel.GetRealmStage(myRealmLevel);
+
+            var config = NPCConfig.Get(bossId);
+            var bossRealmStage = realmModel.GetRealmStage(config.Realm);
+
+            if (myRealmStage >= bossRealmStage)
+            {
+                return true;
+            }
+
+            if (myRealmStage + 1 >= bossRealmStage)
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+        public bool IsRealmEnoughToKillBoss(int bossId)
+        {
+            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+            var config = NPCConfig.Get(bossId);
+            return myRealmLevel >= config.Realm;
+        }
+
+        public int GetBossUnLockRealm(int bossId)
+        {
+            var config = NPCConfig.Get(bossId);
+            var realmStage = realmModel.GetRealmStage(config.Realm);
+            var realms = new List<int>();
+            if (realmModel.TryGetRealmStages(realmStage, out realms))
+            {
+                return realms[0];
+            }
+            else
+            {
+                return 0;
+            }
+        }
+
         public bool IsBossAlive(int _bossId)
         {
             if (demonJarModel.IsPersonalBoss(_bossId))
@@ -435,12 +489,10 @@
                 findPreciousRedpoint.count = totalCount;
             }
 
-            if (_redpointId == DogzDungeonModel.DOGZDUNGEON_REDPOINT ||
-                _redpointId == JadeDynastyBossModel.JADEDYNASTY_REDPOINTID)
+            if (_redpointId == JadeDynastyBossModel.JADEDYNASTY_REDPOINTID)
             {
-                var dogzDungeonRedpointCount = dogzDungeonModel.redpoint.count;
                 var jadeDynastyBossRedpointCount = jadeDynastyBossModel.redpoint.count;
-                var totalCount = dogzDungeonRedpointCount + jadeDynastyBossRedpointCount;
+                var totalCount = jadeDynastyBossRedpointCount;
 
                 lootPreciousRedpoint.count = totalCount;
                 lootPreciousRedpoint.state = totalCount > 0 ? RedPointState.Quantity : RedPointState.None;
@@ -468,10 +520,6 @@
             else if (PersonalBossConfig.Has(_bossId))
             {
                 return FindPreciousType.PersonalBoss;
-            }
-            else if (DogzDungeonConfig.Has(_bossId))
-            {
-                return FindPreciousType.DogzDungeon;
             }
             else if (CrossServerBossConfig.Has(_bossId))
             {
diff --git a/System/FindPrecious/PersonalBossBriefInfoBehaviour.cs b/System/FindPrecious/PersonalBossBriefInfoBehaviour.cs
index b9d3bb3..7edcc4a 100644
--- a/System/FindPrecious/PersonalBossBriefInfoBehaviour.cs
+++ b/System/FindPrecious/PersonalBossBriefInfoBehaviour.cs
@@ -26,7 +26,7 @@
         protected override InteractorableState interactorableState {
             get {
                 var selected = selectedBossId == bossId;
-                var dieOrLocked = !model.IsBossUnLocked(bossId);
+                var dieOrLocked = !findPreciousModel.IsBossUnlock(bossId) || !findPreciousModel.IsBossUnlock(bossId);
 
                 if (!dieOrLocked)
                 {
@@ -52,7 +52,7 @@
             var npcConfig = NPCConfig.Get(bossId);
             DrawBossBaseInfo(config.PortraitID, npcConfig.charName, npcConfig.NPCLV, npcConfig.ClientRealm);
             UpdateBossPortrait(interactorableState);
-            UpdateBossRebornCoolDown(true);
+            UpdateBossRebornCoolDown(isUnLocked);
             OnSelected(bossId);
 
             model.bossSelectedEvent -= OnSelected;
@@ -68,10 +68,6 @@
         private void OnSelected(int _bossId)
         {
             UpdateBossNameLevelFont(interactorableState);
-        }
-
-        protected override void UpdateBossPortrait(InteractorableState _state)
-        {
         }
 
     }
diff --git a/System/FindPrecious/PersonalBossModel.cs b/System/FindPrecious/PersonalBossModel.cs
index e11d4a4..9f7a07b 100644
--- a/System/FindPrecious/PersonalBossModel.cs
+++ b/System/FindPrecious/PersonalBossModel.cs
@@ -47,7 +47,6 @@
             playerPack.refreshItemCountEvent += RefreshItemCount;
             PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataChange;
             dungeonModel.dungeonRecordChangeEvent += OnDungeonRecordChange;
-
         }
 
         public override void UnInit()
@@ -72,13 +71,17 @@
 
         public List<int> GetPersonalBosses()
         {
-            return new List<int>(sortedBossIds);
-        }
+            var bosses = new List<int>();
+            for (int i = 0; i < sortedBossIds.Count; i++)
+            {
+                var bossId = sortedBossIds[i];
+                if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId))
+                {
+                    bosses.Add(bossId);
+                }
+            }
 
-        public bool IsBossUnLocked(int _bossId)
-        {
-            var playerLevel = PlayerDatas.Instance.baseData.LV;
-            return personalBosses.ContainsKey(_bossId) && playerLevel >= personalBosses[_bossId].challengableLevel;
+            return bosses;
         }
 
         public int GetLatestUnLockBoss()
@@ -86,7 +89,7 @@
             for (int i = sortedBossIds.Count - 1; i >= 0; i--)
             {
                 var bossId = sortedBossIds[i];
-                if (IsBossUnLocked(bossId))
+                if (findPreciousModel.IsBossUnlock(bossId))
                 {
                     return bossId;
                 }
diff --git a/System/FindPrecious/PersonalBossWin.cs b/System/FindPrecious/PersonalBossWin.cs
index 3e18cb1..ac38910 100644
--- a/System/FindPrecious/PersonalBossWin.cs
+++ b/System/FindPrecious/PersonalBossWin.cs
@@ -9,10 +9,8 @@
 using UnityEngine;
 using UnityEngine.UI;
 
-
 namespace Snxxz.UI
 {
-
     public class PersonalBossWin : Window
     {
         [SerializeField] CyclicScroll m_Bosses;
@@ -22,6 +20,7 @@
         [SerializeField] RectTransform m_NoDamageTip;
 
         PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } }
+        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
 
         int enterTimes = 0;
@@ -71,10 +70,12 @@
             bosses.AddRange(model.GetPersonalBosses());
 
             model.selectedBoss = model.GetLatestUnLockBoss();
+
             m_BossIntroduce.Display(model.selectedBoss, true);
             m_Bosses.Init(bosses);
             m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
 
+            DisplayGotoKillButton(model.selectedBoss);
             DisplayTip(model.selectedBoss);
         }
 
@@ -97,10 +98,7 @@
                         WindowCenter.Instance.Open<PersonalBossVipLackWin>();
                         break;
                     case 3:
-                        var config = PersonalBossConfig.Get(model.selectedBoss);
-                        var dungeonId = dungeonModel.GetDungeonId(PersonalBossModel.PERSONALBOSS_MAPID, config.lineId);
-                        var dungeonConfig = DungeonConfig.Get(dungeonId);
-                        SysNotifyMgr.Instance.ShowTip("PersonalBoss_LevelLimit", dungeonConfig.LVLimitMin);
+                        SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm);
                         break;
                     case 4:
                         SysNotifyMgr.Instance.ShowTip("DungeonNoGO");
@@ -124,7 +122,7 @@
                 return false;
             }
 
-            if (!model.IsBossUnLocked(model.selectedBoss))
+            if (!findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss))
             {
                 _error = 3;
                 return false;
@@ -144,6 +142,7 @@
         private void OnBossSelected(int bossId)
         {
             m_BossIntroduce.Display(bossId, false);
+            DisplayGotoKillButton(model.selectedBoss);
             DisplayTip(bossId);
         }
 
@@ -162,6 +161,12 @@
             }
         }
 
+        private void DisplayGotoKillButton(int bossId)
+        {
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
+            m_Goto.gameObject.SetActive(isUnLocked);
+        }
+
     }
 
 }
diff --git a/System/FindPrecious/WorldBossBreifInfoBehaviour.cs b/System/FindPrecious/WorldBossBreifInfoBehaviour.cs
index 63c1d0a..6b47245 100644
--- a/System/FindPrecious/WorldBossBreifInfoBehaviour.cs
+++ b/System/FindPrecious/WorldBossBreifInfoBehaviour.cs
@@ -14,8 +14,6 @@
     public class WorldBossBreifInfoBehaviour : FindPreciousBossBriefInfoBehaviour
     {
         [SerializeField] Image m_Attention;
-        [SerializeField] RectTransform m_UnLockCondition;
-        [SerializeField] Image m_UnLockRealm;
 
         protected override int selectedBossId {
             get {
@@ -29,7 +27,7 @@
         protected override InteractorableState interactorableState {
             get {
                 var selected = selectedBossId == bossId;
-                var dieOrLocked = !model.IsBossUnLocked(bossId) || !findPreciousModel.IsBossAlive(bossId);
+                var dieOrLocked = !findPreciousModel.IsBossUnlock(bossId) || !findPreciousModel.IsBossAlive(bossId);
 
                 if (!dieOrLocked)
                 {
@@ -47,7 +45,7 @@
 
         protected override bool isUnLocked {
             get {
-                return model.IsBossUnLocked(bossId);
+                return findPreciousModel.IsBossUnlock(bossId);
             }
         }
 
@@ -90,43 +88,6 @@
             }
 
             m_Attention.gameObject.SetActive(findPreciousModel.IsBossSubscribed(bossId));
-        }
-
-        protected override void DrawBossBaseInfo(string icon, string name, int level, int realm)
-        {
-            m_Portrait.SetSprite(icon);
-            m_Portrait.SetNativeSize();
-            m_BossName.text = name;
-            m_BossLevel.text = Language.Get("Z1024", level);
-
-            m_RealmContainer.gameObject.SetActive(isUnLocked);
-            m_UnLockCondition.gameObject.SetActive(!isUnLocked);
-            if (!isUnLocked)
-            {
-                var unLockRealm = model.GetBossUnLockRealm(bossId);
-                var config = RealmConfig.Get(unLockRealm);
-                m_UnLockRealm.SetSprite(config.Img);
-            }
-            else
-            {
-                if (m_Realm != null && m_RealmContainer != null)
-                {
-                    if (realm > 0 && RealmConfig.Has(realm))
-                    {
-                        m_RealmContainer.gameObject.SetActive(true);
-                        var realmConfig = RealmConfig.Get(realm);
-                        if (realmConfig != null)
-                        {
-                            m_Realm.SetSprite(realmConfig.Img);
-                        }
-                    }
-                    else
-                    {
-                        m_RealmContainer.gameObject.SetActive(false);
-                    }
-                }
-            }
-
         }
 
     }
diff --git a/System/FindPrecious/WorldBossModel.cs b/System/FindPrecious/WorldBossModel.cs
index 56d132a..76ecec8 100644
--- a/System/FindPrecious/WorldBossModel.cs
+++ b/System/FindPrecious/WorldBossModel.cs
@@ -84,7 +84,7 @@
             for (int i = 0; i < sortedBossIds.Count; i++)
             {
                 var bossId = sortedBossIds[i];
-                if (IsBossUnLockedOrUnlockSoon(bossId))
+                if (findPreciousModel.IsBossUnlockOrUnlockSoon(bossId))
                 {
                     activedBossIds.Add(bossId);
                 }
@@ -110,11 +110,6 @@
             return bosses;
         }
 
-        public bool IsBossUnLocked(int _bossId)
-        {
-            return worldBosses.ContainsKey(_bossId) && worldBosses[_bossId].isUnLocked;
-        }
-
         public int GetRecommendBoss()
         {
             var playerLevel = PlayerDatas.Instance.baseData.LV;
@@ -122,54 +117,15 @@
             {
                 var bossId = sortedBossIds[i];
                 var npcConfig = NPCConfig.Get(bossId);
-                if (IsBossUnLocked(bossId) && findPreciousModel.IsBossAlive(bossId) && playerLevel >= npcConfig.NPCLV)
+                if (findPreciousModel.IsBossUnlock(bossId) 
+                    && findPreciousModel.IsBossAlive(bossId) 
+                    && playerLevel >= npcConfig.NPCLV)
                 {
                     return bossId;
                 }
             }
 
             return sortedBossIds[0];
-        }
-
-        public int GetBossUnLockRealm(int bossId)
-        {
-            if (!worldBosses.ContainsKey(bossId))
-            {
-                return 0;
-            }
-
-            var config = NPCConfig.Get(bossId);
-            var realmStage = realmModel.GetRealmStage(config.Realm);
-            var realms = new List<int>();
-            if (realmModel.TryGetRealmStages(realmStage, out realms))
-            {
-                return realms[0];
-            }
-            else
-            {
-                return 0;
-            }
-        }
-
-        private bool IsBossUnLockedOrUnlockSoon(int bossId)
-        {
-            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var myRealmStage = realmModel.GetRealmStage(myRealmLevel);
-
-            var config = NPCConfig.Get(bossId);
-            var bossRealmStage = realmModel.GetRealmStage(config.Realm);
-
-            if (myRealmStage >= bossRealmStage)
-            {
-                return true;
-            }
-
-            if (myRealmStage + 1 >= bossRealmStage)
-            {
-                return true;
-            }
-
-            return false;
         }
 
         private void OnFunctionChange(int id)
@@ -210,21 +166,7 @@
 
     public class WorldBossData
     {
-        RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
-
         public int id { get; private set; }
-        public bool isUnLocked {
-            get {
-                var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
-                var myRealmStage = realmModel.GetRealmStage(myRealmLevel);
-
-                var config = NPCConfig.Get(id);
-                var bossRealmStage = realmModel.GetRealmStage(config.Realm);
-
-                return myRealmStage >= bossRealmStage;
-            }
-        }
-
         public WorldBossData(int _id)
         {
             this.id = _id;
diff --git a/System/FindPrecious/WorldBossWin.cs b/System/FindPrecious/WorldBossWin.cs
index 2cfccaa..efaf099 100644
--- a/System/FindPrecious/WorldBossWin.cs
+++ b/System/FindPrecious/WorldBossWin.cs
@@ -142,9 +142,14 @@
 
         private bool TestGotoKillBoss(out int _error)
         {
-            var mapId = PlayerDatas.Instance.baseData.MapID;
-            var dataMapId = dungeonModel.GetDataMapIdByMapId(mapId);
+            if (findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss))
+            {
+                _error = 4;
+                return false;
+            }
 
+            var mapId = PlayerDatas.Instance.baseData.MapID;
+            var dataMapId = MapUtility.GetDataMapId(mapId);
             if (dataMapId == BossHomeModel.BOSSHOME_MAPID || dataMapId == ElderGodAreaModel.ELDERGODAREA_MAPID)
             {
                 _error = 1;
@@ -217,18 +222,21 @@
                 case 3:
                     SysNotifyMgr.Instance.ShowTip("CrossMap10");
                     break;
+                case 4:
+                    SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm);
+                    break;
             }
         }
 
         private void DisplayGotoKillButton(int bossId)
         {
-            var isUnLocked = model.IsBossUnLocked(bossId);
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
             m_Goto.gameObject.SetActive(isUnLocked);
         }
 
         private void DisplaySubscribe(int bossId)
         {
-            var isUnLocked = model.IsBossUnLocked(bossId);
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
             m_Subscribe.gameObject.SetActive(isUnLocked);
             if (isUnLocked)
             {
@@ -238,10 +246,7 @@
 
         private void DisplayTip(int bossId)
         {
-            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var config = NPCConfig.Get(bossId);
-
-            if (config.Realm > realmLevel)
+            if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId))
             {
                 m_NoDamageTip.gameObject.SetActive(true);
                 m_SurpassLevel.gameObject.SetActive(false);
diff --git a/System/MainInterfacePanel/InGamePushContainer.cs b/System/MainInterfacePanel/InGamePushContainer.cs
index 7ff7918..acba126 100644
--- a/System/MainInterfacePanel/InGamePushContainer.cs
+++ b/System/MainInterfacePanel/InGamePushContainer.cs
@@ -35,8 +35,9 @@
         Dictionary<IInGamePush, Transform> m_InGamePushTrans = new Dictionary<IInGamePush, Transform>();
 
         WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
-        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
+        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
         CrossServerBossModel crossServerBossModel { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } }
+        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
 
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
         FBHelpPointExchageModel exchageModel { get { return ModelCenter.Instance.GetModel<FBHelpPointExchageModel>(); } }
@@ -298,7 +299,7 @@
                         show = !GeneralDefine.worldBossNoRebornRemindMaps.Contains(mapId);
                         break;
                     case FindPreciousType.BossHome:
-                        killable = true;
+                        killable = bossHomeModel.wearyValue < vipModel.GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit);
                         show = !GeneralDefine.bossHomeNoRebornRemindMaps.Contains(mapId);
                         break;
                     case FindPreciousType.ElderGodArea:
@@ -314,10 +315,6 @@
                             killable = totalTimes > enterTimes;
                             show = !GeneralDefine.demonJarNoRebornRemindMaps.Contains(mapId);
                         }
-                        break;
-                    case FindPreciousType.DogzDungeon:
-                        killable = dogzDungeonModel.wearyValue < GeneralDefine.bossWearyValues[2];
-                        show = !GeneralDefine.dogzNoRebornRemindMaps.Contains(mapId);
                         break;
                     case FindPreciousType.CrossServerBoss:
                         killable = crossServerBossModel.wearyValue < GeneralDefine.bossWearyValues[2];
diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 02764f0..5994363 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -153,14 +153,9 @@
             if (isNeutralMap && !AdventureStage.Instance.IsInAdventureStage)
             {
                 m_BossBriefInfos.gameObject.SetActive(true);
-                if (PlayerDatas.Instance.baseData.MapID == DogzDungeonModel.DATA_MAPID)
+                if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID)
                 {
-                    var bosses = ModelCenter.Instance.GetModel<DogzDungeonModel>().GetBosses();
-                    m_BossBriefInfos.Display(bosses);
-                }
-                else if (PlayerDatas.Instance.baseData.MapID == CrossServerBossModel.DATA_MAPID)
-                {
-                    var bosses = ModelCenter.Instance.GetModel<CrossServerBossModel>().GetBosses();
+                    var bosses = ModelCenter.Instance.GetModel<CrossServerBossModel>().GetShowBosses();
                     m_BossBriefInfos.Display(bosses);
                 }
                 else
diff --git a/System/WindowBase/ModelCenter.cs b/System/WindowBase/ModelCenter.cs
index 736e5a0..66ef6cc 100644
--- a/System/WindowBase/ModelCenter.cs
+++ b/System/WindowBase/ModelCenter.cs
@@ -178,7 +178,6 @@
             RegisterModel<TrialDungeonModel>();
             RegisterModel<ActivitiesPushModel>();
             RegisterModel<MultipleRealmPointModel>();
-            RegisterModel<DogzDungeonModel>();
             RegisterModel<DogzModel>();
             RegisterModel<GodBeastModel>();
             RegisterModel<FeatureNoticeModel>();
diff --git a/Utility/ConfigInitiator.cs b/Utility/ConfigInitiator.cs
index ffcc2dc..63e3c90 100644
--- a/Utility/ConfigInitiator.cs
+++ b/Utility/ConfigInitiator.cs
@@ -232,7 +232,6 @@
         normalTasks.Add(new ConfigInitTask("DienstgradConfig", () => { DienstgradConfig.Init(); }, () => { return DienstgradConfig.inited; }));
         normalTasks.Add(new ConfigInitTask("DirtyNameConfig", () => { DirtyNameConfig.Init(); }, () => { return DirtyNameConfig.inited; }));
         normalTasks.Add(new ConfigInitTask("DogzConfig", () => { DogzConfig.Init(); }, () => { return DogzConfig.inited; }));
-        normalTasks.Add(new ConfigInitTask("DogzDungeonConfig", () => { DogzDungeonConfig.Init(); }, () => { return DogzDungeonConfig.inited; }));
         normalTasks.Add(new ConfigInitTask("DogzEquipPlusConfig", () => { DogzEquipPlusConfig.Init(); }, () => { return DogzEquipPlusConfig.inited; }));
         normalTasks.Add(new ConfigInitTask("DungeonHelpBattleConfig", () => { DungeonHelpBattleConfig.Init(); }, () => { return DungeonHelpBattleConfig.inited; }));
         normalTasks.Add(new ConfigInitTask("DungeonHintConfig", () => { DungeonHintConfig.Init(); }, () => { return DungeonHintConfig.inited; }));
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index 4037bb2..f9bacfe 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -1020,6 +1020,7 @@
     FairyDaimondGift = 23,
     MarketPutawayPwd = 24,
     DemonJar = 25,
+    BossHomeAwardLimit = 27,
     DemonJarDouble = 28,
     BindJadeWheel = 30,
     PrayForDrug = 31,
@@ -1061,7 +1062,6 @@
     PersonalBoss = 2,
     ElderGodArea = 3,
     DemonJar = 4,
-    DogzDungeon = 5,
     CrossServerBoss = 6,
     JadeDynastyBoss = 7,
     None = 99,

--
Gitblit v1.8.0