From ff5a952767a0c98fff6cf53733df93db5aa80b2f Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期五, 07 九月 2018 19:27:33 +0800
Subject: [PATCH] Merge branch 'master' into 3243Activity

---
 System/Strengthening/CrystalSelectionWin.cs      |  131 +++++++++++++++++++++
 System/Strengthening/GodBeastChildNodes.cs       |    8 +
 Utility/EnumHelper.cs                            |    1 
 System/Strengthening/GodBeastSlidingList.cs      |  114 +++++++++---------
 System/Strengthening/GodBeastModel.cs            |   51 ++++++++
 Core/ResModule/InstanceResourcesLoader.cs        |    1 
 System/Chat/ChatCenter.cs                        |    6 
 System/Strengthening/GodBeastAttributes.cs       |   11 +
 System/Strengthening/GodBeastModel.cs.meta       |   12 ++
 System/WindowBase/ModelCenter.cs                 |    1 
 System/Strengthening/CrystalSelectionWin.cs.meta |   12 ++
 11 files changed, 282 insertions(+), 66 deletions(-)

diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 371b385..bb7c623 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -11,6 +11,7 @@
     public static readonly string horseSuffix = "Prefab_Horse_";
     public static readonly string weaponSuffix = "Prefab_Weapon_";
     public static readonly string secondarySuffix = "Prefab_Secondary_";
+    public static readonly string handSuffix = "Prefab_Hand_";
     public static readonly string wingSuffix = "Prefab_Wing_";
 
     public static GameObject LoadNpc(int id)
diff --git a/System/Chat/ChatCenter.cs b/System/Chat/ChatCenter.cs
index ef94110..ac1ecd0 100644
--- a/System/Chat/ChatCenter.cs
+++ b/System/Chat/ChatCenter.cs
@@ -766,8 +766,8 @@
         #endregion
 
         #region 澧冪晫娓″姭绉佽亰鎰熻阿
-        private string[] realmThankChats = new string[7] {"ThankMessage1", "ThankMessage2", "ThankMessage3", "ThankMessage4",
-                          "ThankMessage5","ThankMessage6","ThankMessage7"};
+        const string RealmThank = "ThankMessage";
+        const int RealmThankCount = 11;
         public void CheckSendRealmThanks()
         {
             try
@@ -804,7 +804,7 @@
                             ChatCtrl.Inst.PteChatID = (int)teammate.id;
                             ChatCtrl.Inst.PteChatName = teammate.mateName;
                             LanguageVerify.toPlayerLevel = teammate.level;
-                            var content = realmThankChats[UnityEngine.Random.Range(0, 7)];
+                            var content = StringUtility.Contact(RealmThank, UnityEngine.Random.Range(1, RealmThankCount + 1));
                             ChatCtrl.Inst.SendChatInfo(ChatInfoType.Friend, Language.Get(content));
                         }
                     }
diff --git a/System/Strengthening/CrystalSelectionWin.cs b/System/Strengthening/CrystalSelectionWin.cs
new file mode 100644
index 0000000..1429cb0
--- /dev/null
+++ b/System/Strengthening/CrystalSelectionWin.cs
@@ -0,0 +1,131 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Friday, September 07, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+//绁炲吔姘存櫠寮哄寲閫夋嫨闈㈡澘
+namespace Snxxz.UI
+{
+
+    public class CrystalSelectionWin : Window
+    {
+        [SerializeField] Text m_TextDisplay;
+        [SerializeField] Text m_NumberText;
+        [SerializeField] Slider m_Slider;
+        [SerializeField] Button m_AddBtn;
+        [SerializeField] Button m_ReduceBtn;
+        [SerializeField] Button m_DetermineBtn;
+        [SerializeField] Button m_CancelBtn;
+        [SerializeField] Button m_CloseBtn;
+        #region Built-in
+        PlayerPackModel _playerPack;
+        PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+        GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
+        protected override void BindController()
+        {
+        }
+
+        protected override void AddListeners()
+        {
+            m_Slider.onValueChanged.AddListener(OnClickSlider);
+            m_AddBtn.AddListener(OnClickAddBtn);
+            m_ReduceBtn.AddListener(OnClickReduceBtn);
+            m_DetermineBtn.AddListener(OnClickDetermineBtn);
+            m_CancelBtn.AddListener(OnClickCancelBtn);
+            m_CloseBtn.AddListener(OnClickCloseBtn);
+        }
+
+        protected override void OnPreOpen()
+        {
+            m_TextDisplay.text = "浣犳嫢鏈�" + godBeastModel.Crystal_ItemModel.itemInfo.ItemCount + "涓己鍖栨按鏅�";
+            m_Slider.minValue = 0;
+            m_Slider.maxValue = godBeastModel.Crystal_ItemModel.itemInfo.ItemCount;
+            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastModel.ItemInde))
+            {
+                m_Slider.value = godBeastModel.Absorption_Dic[godBeastModel.ItemInde];
+
+            }
+            else
+            {
+                m_Slider.value = 0;
+            }
+            m_NumberText.text = m_Slider.value.ToString();
+        }
+
+        protected override void OnAfterOpen()
+        {
+        }
+
+        protected override void OnPreClose()
+        {
+            godBeastModel.Crystal_ItemModel = null;
+        }
+
+        protected override void OnAfterClose()
+        {
+        }
+        #endregion
+        private void OnClickAddBtn()
+        {
+            if (m_Slider.value < godBeastModel.Crystal_ItemModel.itemInfo.ItemCount)
+            {
+                m_Slider.value += 1;
+                m_NumberText.text = m_Slider.value.ToString();
+            }
+        }
+        private void OnClickReduceBtn()
+        {
+            if (m_Slider.value > 0)
+            {
+                m_Slider.value -= 1;
+                m_NumberText.text = m_Slider.value.ToString();
+            }
+        }
+        private void OnClickDetermineBtn()
+        {
+            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastModel.ItemInde))
+            {
+                if ((int)m_Slider.value <= 0)
+                {
+                    godBeastModel.Absorption_Dic.Remove(godBeastModel.ItemInde);
+                }
+                else
+                {
+                    godBeastModel.Absorption_Dic[godBeastModel.ItemInde] = (int)m_Slider.value;
+                }
+              
+            }
+            else
+            {
+                if ((int)m_Slider.value > 0)
+                {
+                    godBeastModel.Absorption_Dic.Add(godBeastModel.ItemInde, (int)m_Slider.value);
+                }                  
+            }
+            godBeastModel.AbsorbEventUpdate();
+            Close();
+        }
+        private void OnClickCancelBtn()
+        {
+            Close();
+        }
+        private void OnClickCloseBtn()
+        {
+            Close();
+        }
+        private void OnClickSlider(float value)
+        {
+            m_NumberText.text = m_Slider.value.ToString();
+        }
+    }
+
+}
+
+
+
+
diff --git a/System/Strengthening/CrystalSelectionWin.cs.meta b/System/Strengthening/CrystalSelectionWin.cs.meta
new file mode 100644
index 0000000..f0a82d7
--- /dev/null
+++ b/System/Strengthening/CrystalSelectionWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b5c8f493c264549439f9e6ac3c02c720
+timeCreated: 1536287163
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Strengthening/GodBeastAttributes.cs b/System/Strengthening/GodBeastAttributes.cs
index 3069ff8..b575370 100644
--- a/System/Strengthening/GodBeastAttributes.cs
+++ b/System/Strengthening/GodBeastAttributes.cs
@@ -42,6 +42,7 @@
         PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
         ItemTipsModel _itemTipsModel;
         ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
+        GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
         private int GodBeastNumber = 0;//绁炲吔缂栧彿
         private int GodBeastPart = 0;//绁炲吔瑁呭ID
 
@@ -64,12 +65,12 @@
                 m_DoubleToggle.isOn = false;
             }
             GodBeastReinforcementWin.ChooseToModify += ChooseToModify;
-            GodBeastSlidingList.AbsorbEvent += AbsorbEvent;
+            godBeastModel.AbsorbEvent += AbsorbEvent;
         }
         private void OnDisable()
         {
             GodBeastReinforcementWin.ChooseToModify -= ChooseToModify;
-            GodBeastSlidingList.AbsorbEvent -= AbsorbEvent;
+            godBeastModel.AbsorbEvent -= AbsorbEvent;
         }
 
         public void Init()
@@ -92,7 +93,7 @@
         }
         private void OnClickStrengthBtn()
         {
-            Dictionary<int, int> DicAb = m_GodBeastSlidingList.Absorption_Dic;
+            Dictionary<int, int> DicAb = godBeastModel.Absorption_Dic;
             List<int> List = new List<int>();
             foreach (var key in DicAb.Keys)
             {
@@ -111,7 +112,7 @@
         {
             GetGodBeastLocationMarker(locationMarker);
         }
-        private void AbsorbEvent(Dictionary<int, int> absorb)
+        private void AbsorbEvent()//閫変腑鍙栨秷鐨勬暟鎹埛鏂�
         {
             GetDogZLevelAndExp();
             AttributeAssignment();
@@ -212,7 +213,7 @@
             SingleProficiency = 0;
             DoubleProficiency = 0;
             NeedFairyJade = 0;
-            Dictionary<int, int> DicAb = m_GodBeastSlidingList.Absorption_Dic;
+            Dictionary<int, int> DicAb = godBeastModel.Absorption_Dic;
             foreach (var key in DicAb.Keys)
             {
                 ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzItem, key);
diff --git a/System/Strengthening/GodBeastChildNodes.cs b/System/Strengthening/GodBeastChildNodes.cs
index 037e6a8..a85169b 100644
--- a/System/Strengthening/GodBeastChildNodes.cs
+++ b/System/Strengthening/GodBeastChildNodes.cs
@@ -13,6 +13,8 @@
         [SerializeField] GameObject m_ChoosenImg;
         [SerializeField] Text m_TextNumber;
         [SerializeField] Button m_Button;
+        [SerializeField] Text m_NumberAll;//鎬绘按鏅堕噺
+        [SerializeField] Text m_NumberNow;//閫変腑姘存櫠閲�
         PlayerPackModel _playerPack;
         PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
         public Button ButtonDown
@@ -34,8 +36,12 @@
         {
             get { return m_TextNumber; }
             set { m_TextNumber = value; }
+        }
+        public Text NumberNow
+        {
+            get { return m_NumberNow; }
+            set { m_NumberNow = value; }
         }
-
         public void  GetGodBeastIndex(int Index)
         {
             ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzItem, Index);
diff --git a/System/Strengthening/GodBeastModel.cs b/System/Strengthening/GodBeastModel.cs
new file mode 100644
index 0000000..f3656b0
--- /dev/null
+++ b/System/Strengthening/GodBeastModel.cs
@@ -0,0 +1,51 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Friday, September 07, 2018
+//--------------------------------------------------------
+using Snxxz.UI;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using TableConfig;
+using UnityEngine;
+
+// 鍏充簬绁炲吔寮哄寲
+public class GodBeastModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
+{
+    public Dictionary<int, int> Absorption_Dic=new Dictionary<int, int>();//鑾峰彇閫夋嫨鐨勭墿鍝�
+    public event Action AbsorbEvent;
+    public int ItemInde=0;//鐗╁搧涓嬫爣
+    public ItemModel Crystal_ItemModel;
+    public override void Init()
+    {
+      
+    }
+
+    public void OnBeforePlayerDataInitialize()
+    {
+       
+    }
+
+    public void OnPlayerLoginOk()
+    {
+       
+    }
+
+    public override void UnInit()
+    {
+      
+    }
+
+    public void AbsorbEventUpdate()
+    {
+        if (AbsorbEvent != null)
+        {
+            AbsorbEvent();
+        }
+    }
+}
+
+
+
+
diff --git a/System/Strengthening/GodBeastModel.cs.meta b/System/Strengthening/GodBeastModel.cs.meta
new file mode 100644
index 0000000..cef08ca
--- /dev/null
+++ b/System/Strengthening/GodBeastModel.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8a6eecf082a263543b6ee588030145fc
+timeCreated: 1536303201
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Strengthening/GodBeastSlidingList.cs b/System/Strengthening/GodBeastSlidingList.cs
index cd63258..8c66559 100644
--- a/System/Strengthening/GodBeastSlidingList.cs
+++ b/System/Strengthening/GodBeastSlidingList.cs
@@ -38,18 +38,13 @@
 
         [SerializeField] Toggle m_ToggleAll;
         public int LINE = 10;
-        public Dictionary<int, int> Absorption_Dic
-        {
-            get { return AbsorptionDic; }
-            set { AbsorptionDic = value; }
-        }
-        public static event Action<Dictionary<int, int>> AbsorbEvent;
         private List<GodBeastBagClass> GodBeastBagList = new List<GodBeastBagClass>();
         private List<int> DeleteIndexList = new List<int>();
-        private Dictionary<int, int> AbsorptionDic = new Dictionary<int, int>();
         private int Quality = 10;
         PlayerPackModel _playerPack;
         PlayerPackModel playerPack { get { return _playerPack ?? (_playerPack = ModelCenter.Instance.GetModel<PlayerPackModel>()); } }
+        GodBeastModel godBeastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
+
         private void Start()
         {
             m_Arrow.AddListener(OnClickArrow);
@@ -62,11 +57,8 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
+                godBeastModel.AbsorbEventUpdate();
                 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
             });
             m_ButtonCrystal.AddListener(() =>
             {
@@ -77,11 +69,8 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
+                godBeastModel.AbsorbEventUpdate();
                 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
             });
             m_ButtonBlue.AddListener(() =>
             {
@@ -92,11 +81,8 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
-                m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
+                godBeastModel.AbsorbEventUpdate();
+                m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙    
             });
             m_ButtonPurple.AddListener(() =>
             {
@@ -107,11 +93,8 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
+                godBeastModel.AbsorbEventUpdate();
                 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
             });
             m_ButtonOrange.AddListener(() =>
             {
@@ -122,11 +105,8 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
+                godBeastModel.AbsorbEventUpdate();
                 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
             });
             m_ToggleAll.onValueChanged.AddListener(OnClickToggle);
         }
@@ -134,13 +114,20 @@
         {
             playerPack.RefreshItemCountAct += RefreshItemCountAct;
             playerPack.ItemCntReduceAct += ItemCntReduceAct;
+            godBeastModel.AbsorbEvent += AbsorbEvent;
         }
+
+      
+
         private void OnDisable()
         {
             playerPack.RefreshItemCountAct -= RefreshItemCountAct;
             playerPack.ItemCntReduceAct -= ItemCntReduceAct;
-        }
-
+            godBeastModel.AbsorbEvent -= AbsorbEvent;
+        }
+
+       
+
         public void Init()
         {
             Quality = 10;
@@ -155,6 +142,7 @@
             }
             GetGodBeastBag();//鑾峰彇绁炲吔鑳屽寘鏁版嵁鎺掑簭
             FilterQuality();//鍒嗙被绛涢��
+            godBeastModel.AbsorbEventUpdate();
             m_ScrollerController.OnRefreshCell += OnRefreshGridCell;
             OnCreateGridLineCell(m_ScrollerController);
 
@@ -174,11 +162,8 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
+                godBeastModel.AbsorbEventUpdate();
                 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
             }
         }
 
@@ -192,12 +177,13 @@
                 }
                 GetGodBeastBag();
                 FilterQuality();
+                godBeastModel.AbsorbEventUpdate();
                 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                if (AbsorbEvent != null)
-                {
-                    AbsorbEvent(AbsorptionDic);
-                }
             }
+        }
+        private void AbsorbEvent()
+        {
+            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
         }
         private void GetGodBeastBag()//鑾峰彇绁炲吔鑳屽寘鏁版嵁鎺掑簭
         {
@@ -274,7 +260,7 @@
         private void FilterQuality()//鍒嗙被绛涢��
         {
             DeleteIndexList.Clear();
-            AbsorptionDic.Clear();
+            godBeastModel.Absorption_Dic.Clear();
             for (int i = 0; i < GodBeastBagList.Count; i++)
             {
                 if (Quality <= 0)//鍙湁姘存櫠
@@ -306,7 +292,7 @@
             {
                 for (int k = 0; k < GodBeastBagList.Count; k++)
                 {
-                    AbsorptionDic.Add(GodBeastBagList[k].Index, 1);
+                    godBeastModel.Absorption_Dic.Add(GodBeastBagList[k].Index, 1);
                 }
             }
         }
@@ -324,18 +310,15 @@
             }
             else
             {
-                if (AbsorptionDic.Count != 0)
+                if (godBeastModel.Absorption_Dic.Count != 0)
                 {
-                    AbsorptionDic.Clear();
+                    godBeastModel.Absorption_Dic.Clear();
                 }
             }
             GetGodBeastBag();
             FilterQuality();
+            godBeastModel.AbsorbEventUpdate();
             m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-            if (AbsorbEvent != null)
-            {
-                AbsorbEvent(AbsorptionDic);
-            }
         }
         private void OnClickSwith(int Type)
         {
@@ -390,6 +373,7 @@
                 GodBeastChildNodes.ItemCell.gameObject.SetActive(false);
                 GodBeastChildNodes.ChoosenImg.SetActive(false);
                 GodBeastChildNodes.TextNumber.gameObject.SetActive(false);
+                GodBeastChildNodes.NumberNow.gameObject.SetActive(false);
                 int cellCount = (cell.transform.childCount) * gridlineIndex + (childCode + 1);
                 GodBeastChildNodes.ButtonDown.RemoveAllListeners();
                 if (cellCount - 1 < GodBeastBagList.Count)
@@ -397,26 +381,42 @@
                     int index = cellCount - 1;
                     GodBeastChildNodes.ItemCell.gameObject.SetActive(true);
                     GodBeastBagClass godBeastBagClass = GodBeastBagList[index];
-                    if (AbsorptionDic.ContainsKey(godBeastBagClass.Index))
+                    ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptDogzItem, godBeastBagClass.Index);
+                    if (itemModel == null)
+                    {
+                        return;
+                    }
+                    if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index))
                     {
                         GodBeastChildNodes.ChoosenImg.SetActive(true);
+                        if (itemModel.EquipPlace <= 0)
+                        {
+                            GodBeastChildNodes.NumberNow.gameObject.SetActive(true);
+                            GodBeastChildNodes.NumberNow.text = godBeastModel.Absorption_Dic[godBeastBagClass.Index].ToString();
+                        }
                     }
                     GodBeastChildNodes.GetGodBeastIndex(godBeastBagClass.Index);
                     GodBeastChildNodes.ButtonDown.AddListener(() =>
-                    {
-                        if (AbsorptionDic.ContainsKey(godBeastBagClass.Index))
+                    {                                         
+                        if (itemModel.EquipPlace > 0)//閫変腑鐨勭墿鍝佷负瑁呭
                         {
-                            AbsorptionDic.Remove(godBeastBagClass.Index);
+                            if (godBeastModel.Absorption_Dic.ContainsKey(godBeastBagClass.Index))
+                            {
+                                godBeastModel.Absorption_Dic.Remove(godBeastBagClass.Index);
+                            }
+                            else
+                            {
+                                godBeastModel.Absorption_Dic.Add(godBeastBagClass.Index, 1);
+                            }
+                            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
                         }
-                        else
+                        else//閫変腑鐨勭墿鍝佷负姘存櫠
                         {
-                            AbsorptionDic.Add(godBeastBagClass.Index, 1);
+                            godBeastModel.Crystal_ItemModel = itemModel;
+                            godBeastModel.ItemInde = godBeastBagClass.Index;
+                            WindowCenter.Instance.Open<CrystalSelectionWin>();
                         }
-                        m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
-                        if (AbsorbEvent != null)
-                        {
-                            AbsorbEvent(AbsorptionDic);
-                        }
+                        godBeastModel.AbsorbEventUpdate();
                     });
                 }
             }
diff --git a/System/WindowBase/ModelCenter.cs b/System/WindowBase/ModelCenter.cs
index c59e5b4..f9268e0 100644
--- a/System/WindowBase/ModelCenter.cs
+++ b/System/WindowBase/ModelCenter.cs
@@ -191,6 +191,7 @@
             RegisterModel<DogzModel>();
             RegisterModel<TreasureSoulModel>();
             RegisterModel<FairyGrabBossModel>();
+            RegisterModel<GodBeastModel>();
             inited = true;
         }
 
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index cea4844..058bdae 100644
--- a/Utility/EnumHelper.cs
+++ b/Utility/EnumHelper.cs
@@ -1002,6 +1002,7 @@
     Suit, //濂楄 4
     Pet,// 瀹犵墿5
     Secondary,// 鍓墜 6
+    Hand,// 鎵嬭噦
 }
 
 public enum TreasureCategory

--
Gitblit v1.8.0