From 40e4b97b2c193cd4e49e4d2cb7b8d59534ada5c1 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期五, 11 一月 2019 14:26:36 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Store/Logic/BuyWingsTip.cs                        |    1 
 System/BlastFurnace/GetEquipPathTips.cs                  |    2 
 System/Chat/ChatPlayerOtherCell.cs                       |    2 
 System/Store/Logic/BuyEquipTip.cs                        |    2 
 System/Role/EquipShowSwitch.cs                           |  116 ++++++++++++++
 System/Treasure/FunctionUnlockFlyObject.cs               |    3 
 System/Store/Logic/BuyBoxInfoWin.cs                      |    2 
 System/FairyAu/KingTempleWin.cs                          |   15 -
 System/KnapSack/Logic/UnionWarehouseEquipTip.cs          |    2 
 System/Chat/ChatPlayerMineCell.cs                        |    2 
 System/RoleParticulars/RoleParticularModel.cs            |    1 
 System/KnapSack/Logic/ItemInfoWin.cs                     |    2 
 System/FairyAu/FairyFeastTransmitShow.cs                 |    5 
 System/Tip/SkillDetailsWin.cs                            |    2 
 System/Chat/ChatOtherVoiceCell.cs                        |    2 
 System/KnapSack/Logic/ModelShowPerfab.cs                 |   10 -
 System/Skill/SkillBehaviour.cs                           |    3 
 System/Role/EquipShowSwitch.cs.meta                      |   12 +
 System/Chat/ChatMineVoiceCell.cs                         |    2 
 System/Realm/RealmPropertyUpWin.cs                       |   57 +++++++
 System/Chat/ChatTip.cs                                   |   10 
 System/Role/MagicianModel.cs                             |  100 +++++++++++-
 System/OpenServerActivity/WishingPoolModel.cs            |   23 ++
 System/KnapSack/Logic/WingsTip.cs                        |    1 
 System/KnapSack/Logic/BoxInfoWin.cs                      |    2 
 System/RoleParticulars/RoleParticularsWin.cs             |   12 -
 Core/GameEngine/Model/Player/PlayerDatas.cs              |    1 
 System/FashionDress/FashionDressWin.cs                   |   10 -
 UI/Common/UI3DModelExhibition.cs                         |   36 +---
 System/Role/GodWeaponPreviewWin.cs                       |   21 ++
 System/Store/Logic/BuyItemInfoWin.cs                     |    1 
 Core/GameEngine/Model/Player/Character/PlayerBaseData.cs |    2 
 System/KnapSack/Logic/EquipTip.cs                        |    2 
 System/Login/CreateRoleHeroShow.cs                       |    8 
 System/Role/GodWeaponSkillBehaviour.cs                   |    2 
 35 files changed, 357 insertions(+), 117 deletions(-)

diff --git a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
index 3cf024d..75a2223 100644
--- a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
+++ b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -63,6 +63,7 @@
     public int BasicsDefense;//鍩虹闃插尽
     public int BasicsScoreAHit;//鍩虹鍛戒腑
     public int BasicsDodge;//鍩虹闂伩
+    public uint equipShowSwitch;//瑁呭鏄鹃殣寮�鍏�
     public long treasurePotentialSp {
         get {
             return ExAttr8 * (long)100000000 + ExAttr7;
@@ -131,6 +132,7 @@
             HappyPoint = _serverInfo.HappyPoint;
             faction = _serverInfo.Faction;
             coinPointTotal = _serverInfo.ChangeCoinPointTotal;
+            equipShowSwitch = _serverInfo.EquipShowSwitch;
             godWeaponLV_1 = (int)_serverInfo.ExAttr15;
             godWeaponLV_2 = (int)_serverInfo.ExAttr16;
             godWeaponLV_3 = (int)_serverInfo.ExAttr17;
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index 9ba489d..275f2eb 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -512,6 +512,7 @@
             case PlayerDataRefresh.WarehouseLV:
                 break;
             case PlayerDataRefresh.EquipShowSwitch:
+                baseData.equipShowSwitch = value;
                 break;
             case PlayerDataRefresh.LuckValue:
                 break;
diff --git a/System/BlastFurnace/GetEquipPathTips.cs b/System/BlastFurnace/GetEquipPathTips.cs
index c32ae00..8d46b1b 100644
--- a/System/BlastFurnace/GetEquipPathTips.cs
+++ b/System/BlastFurnace/GetEquipPathTips.cs
@@ -297,7 +297,7 @@
                                     realmImg.SetSprite(realmConfig.Img);
                                 }
                             }
-
+                            realmImg.SetNativeSize();
                             if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
                             {
                                 realmTitleText.color = conditionColor;
diff --git a/System/Chat/ChatMineVoiceCell.cs b/System/Chat/ChatMineVoiceCell.cs
index 4128846..2b56b9a 100644
--- a/System/Chat/ChatMineVoiceCell.cs
+++ b/System/Chat/ChatMineVoiceCell.cs
@@ -40,7 +40,7 @@
             m_ChatTime.text = _data.createTime.ToString("yyyy-MM-dd HH:mm");
             if (_data.vipLv > 0)
             {
-                m_VipLevel.text = "Vip";//string.Format("V{0}", _data.vipLv);
+                m_VipLevel.text = "VIP";//string.Format("V{0}", _data.vipLv);
             }
             else
             {
diff --git a/System/Chat/ChatOtherVoiceCell.cs b/System/Chat/ChatOtherVoiceCell.cs
index 69c18d2..3455234 100644
--- a/System/Chat/ChatOtherVoiceCell.cs
+++ b/System/Chat/ChatOtherVoiceCell.cs
@@ -45,7 +45,7 @@
             m_ChatTime.text = _data.createTime.ToString("yyyy-MM-dd HH:mm");
             if (_data.vipLv > 0)
             {
-                m_VipLevel.text = "Vip";//string.Format("V{0}", _data.vipLv);
+                m_VipLevel.text = "VIP";//string.Format("V{0}", _data.vipLv);
             }
             else
             {
diff --git a/System/Chat/ChatPlayerMineCell.cs b/System/Chat/ChatPlayerMineCell.cs
index e1e5bf8..3d6c80c 100644
--- a/System/Chat/ChatPlayerMineCell.cs
+++ b/System/Chat/ChatPlayerMineCell.cs
@@ -45,7 +45,7 @@
             m_ChatTime.text = data.createTime.ToString("yyyy-MM-dd HH:mm");
             if (chatUserData.vipLv > 0)
             {
-                m_VipLv.text = "Vip";//string.Format("V{0}", chatUserData.vipLv);
+                m_VipLv.text = "VIP";//string.Format("V{0}", chatUserData.vipLv);
             }
             else
             {
diff --git a/System/Chat/ChatPlayerOtherCell.cs b/System/Chat/ChatPlayerOtherCell.cs
index aa929c1..d376403 100644
--- a/System/Chat/ChatPlayerOtherCell.cs
+++ b/System/Chat/ChatPlayerOtherCell.cs
@@ -43,7 +43,7 @@
             m_ChatTime.text = data.createTime.ToString("yyyy-MM-dd HH:mm");
             if (chatUserData.vipLv > 0)
             {
-                m_VipLv.text = "Vip";//string.Format("V{0}", chatUserData.vipLv);
+                m_VipLv.text = "VIP";//string.Format("V{0}", chatUserData.vipLv);
             }
             else
             {
diff --git a/System/Chat/ChatTip.cs b/System/Chat/ChatTip.cs
index 5d6e1fb..c1a6a0a 100644
--- a/System/Chat/ChatTip.cs
+++ b/System/Chat/ChatTip.cs
@@ -273,7 +273,7 @@
                     chatName = chatUserData.name;
                     if (chatUserData.vipLv > 0)
                     {
-                        vipLv = "Vip";//StringUtility.Contact("V", chatUserData.vipLv);
+                        vipLv = "VIP";//StringUtility.Contact("V", chatUserData.vipLv);
                     }
                     break;
                 }
@@ -283,7 +283,7 @@
                     chatName = chatUserData.name;
                     if (chatUserData.vipLv > 0)
                     {
-                        vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+                        vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
                     }
                     break;
                 }
@@ -293,7 +293,7 @@
                     chatName = chatUserData.name;
                     if (chatUserData.vipLv > 0)
                     {
-                        vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+                        vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
                     }
                     break;
                 }
@@ -303,7 +303,7 @@
                     chatName = chatUserData.name;
                     if (chatUserData.vipLv > 0)
                     {
-                        vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+                        vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
                     }
                     break;
                 }
@@ -313,7 +313,7 @@
                     chatName = chatUserData.name;
                     if (chatUserData.vipLv > 0)
                     {
-                        vipLv = "Vip";// StringUtility.Contact("V", chatUserData.vipLv);
+                        vipLv = "VIP";// StringUtility.Contact("V", chatUserData.vipLv);
                     }
                     break;
                 }
diff --git a/System/FairyAu/FairyFeastTransmitShow.cs b/System/FairyAu/FairyFeastTransmitShow.cs
index 8b6b964..b69846b 100644
--- a/System/FairyAu/FairyFeastTransmitShow.cs
+++ b/System/FairyAu/FairyFeastTransmitShow.cs
@@ -216,11 +216,6 @@
             var fashionSecondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon2);
             var fashionSecondaryId = fashionSecondary == null ? 0 : (int)fashionSecondary.itemInfo.ItemID;
 
-            var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
-            var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
-            var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
-            var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
-            var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
             var data = new UI3DPlayerExhibitionData
             {
                 job = PlayerDatas.Instance.baseData.Job,
diff --git a/System/FairyAu/KingTempleWin.cs b/System/FairyAu/KingTempleWin.cs
index 4c53d01..7f940f4 100644
--- a/System/FairyAu/KingTempleWin.cs
+++ b/System/FairyAu/KingTempleWin.cs
@@ -200,17 +200,8 @@
                     fashionWeapon2 = itemData.ItemID;
                 }
 
-                var godWeapons = new Dictionary<int, int>();
-                var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
-                for (int i = 0; i < magicianModel.godWeaponTypes.Count; i++)
-                {
-                    var type = magicianModel.godWeaponTypes[i];
-                    if (_leaderData.rolePlusData != null)
-                    {
-                        var level = _leaderData.rolePlusData.GetGodWeaponLevel(type);
-                        godWeapons.Add(type, level);
-                    }
-                }
+                Dictionary<int, int> dict = null;
+                EquipShowSwitch.IsGodWeaponEffectOn(_leaderData.rolePropData.EquipShowSwitch, out dict);
 
                 var data = new UI3DPlayerExhibitionData
                 {
@@ -223,7 +214,7 @@
                     weaponId =   weapon,
                     wingsId = wing,
                     secondaryId =  weapon2,
-                    godWeapons = godWeapons,
+                    godWeapons = dict,
                     isDialogue = false,
                 };
 
diff --git a/System/FashionDress/FashionDressWin.cs b/System/FashionDress/FashionDressWin.cs
index b566ec7..4ded065 100644
--- a/System/FashionDress/FashionDressWin.cs
+++ b/System/FashionDress/FashionDressWin.cs
@@ -363,14 +363,8 @@
                 }
             }
 
-            Dictionary<int, int> dict = new Dictionary<int, int>();
-            for (int i = 0; i < godWeaponModel.godWeaponTypes.Count; i++)
-            {
-                var type = godWeaponModel.godWeaponTypes[i];
-                var godWeaponInfo = godWeaponModel.GetGodWeaponInfo(type);
-                var equipedLevel = godWeaponInfo != null ? godWeaponInfo.level : 0;
-                dict[type] = equipedLevel;
-            }
+            Dictionary<int, int> dict = null;
+            EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
 
             UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
             {
diff --git a/System/KnapSack/Logic/BoxInfoWin.cs b/System/KnapSack/Logic/BoxInfoWin.cs
index 2a13368..6ceec3b 100644
--- a/System/KnapSack/Logic/BoxInfoWin.cs
+++ b/System/KnapSack/Logic/BoxInfoWin.cs
@@ -229,7 +229,7 @@
                                 realmImg.SetSprite(realmConfig.Img);
                             }
                         }
-
+                        realmImg.SetNativeSize();
                         if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
                         {
                             realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/EquipTip.cs b/System/KnapSack/Logic/EquipTip.cs
index c3bf69c..f970bdf 100644
--- a/System/KnapSack/Logic/EquipTip.cs
+++ b/System/KnapSack/Logic/EquipTip.cs
@@ -331,7 +331,7 @@
                                     realmImg.SetSprite(realmConfig.Img);
                                 }
                             }
-
+                            realmImg.SetNativeSize();
                             if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
                             {
                                 realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/ItemInfoWin.cs b/System/KnapSack/Logic/ItemInfoWin.cs
index ac32e36..59eef8b 100644
--- a/System/KnapSack/Logic/ItemInfoWin.cs
+++ b/System/KnapSack/Logic/ItemInfoWin.cs
@@ -243,7 +243,7 @@
                                 realmImg.SetSprite(realmConfig.Img);
                             }
                         }
-
+                        realmImg.SetNativeSize();
                         if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
                         {
                             realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/ModelShowPerfab.cs b/System/KnapSack/Logic/ModelShowPerfab.cs
index 17223f2..0721b8f 100644
--- a/System/KnapSack/Logic/ModelShowPerfab.cs
+++ b/System/KnapSack/Logic/ModelShowPerfab.cs
@@ -122,14 +122,8 @@
                 }
             }
 
-            Dictionary<int, int> dict = new Dictionary<int, int>();
-            for (int i = 0; i < godWeaponModel.godWeaponTypes.Count; i++)
-            {
-                var type = godWeaponModel.godWeaponTypes[i];
-                var godWeaponInfo = godWeaponModel.GetGodWeaponInfo(type);
-                var equipedLevel = godWeaponInfo != null ? godWeaponInfo.level : 0;
-                dict[type] = equipedLevel;
-            }
+            Dictionary<int, int> dict = null;
+            EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
 
             UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
             {
diff --git a/System/KnapSack/Logic/UnionWarehouseEquipTip.cs b/System/KnapSack/Logic/UnionWarehouseEquipTip.cs
index 49fea7b..3a1123c 100644
--- a/System/KnapSack/Logic/UnionWarehouseEquipTip.cs
+++ b/System/KnapSack/Logic/UnionWarehouseEquipTip.cs
@@ -297,7 +297,7 @@
                                     realmImg.SetSprite(realmConfig.Img);
                                 }
                             }
-
+                            realmImg.SetNativeSize();
                             if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
                             {
                                 realmTitleText.color = conditionColor;
diff --git a/System/KnapSack/Logic/WingsTip.cs b/System/KnapSack/Logic/WingsTip.cs
index 17f8485..64ca901 100644
--- a/System/KnapSack/Logic/WingsTip.cs
+++ b/System/KnapSack/Logic/WingsTip.cs
@@ -201,6 +201,7 @@
                         conditionValueText.gameObject.SetActive(false);
                     }
                 }
+                conditionValueText.SetNativeSize();
             }
             else
             {
diff --git a/System/Login/CreateRoleHeroShow.cs b/System/Login/CreateRoleHeroShow.cs
index 78dbf26..b4ee630 100644
--- a/System/Login/CreateRoleHeroShow.cs
+++ b/System/Login/CreateRoleHeroShow.cs
@@ -125,6 +125,8 @@
             }
         }
 
+        Dictionary<int, int> dict = null;
+        EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.loginInfo.EquipShowSwitch, out dict);
         var data = new UI3DPlayerExhibitionData()
         {
             job = PlayerDatas.Instance.loginInfo.Job,
@@ -136,11 +138,7 @@
             wingsId = wingsItemId,
             fashionSecondaryId = fashionSecondary,
             secondaryId = secondaryItemId,
-            godWeapons = new Dictionary<int, int>() {
-                    { 1,  (int)PlayerDatas.Instance.loginInfo.ExAttr15 },
-                    { 2,  (int)PlayerDatas.Instance.loginInfo.ExAttr16},
-                    { 3,  (int)PlayerDatas.Instance.loginInfo.ExAttr17 },
-                    { 4,  (int)PlayerDatas.Instance.loginInfo.ExAttr18 } }
+            godWeapons = dict
         };
 
         var model = playerModel.Show(data, m_HeroPlatform.transform);
diff --git a/System/OpenServerActivity/WishingPoolModel.cs b/System/OpenServerActivity/WishingPoolModel.cs
index d405b69..e789c64 100644
--- a/System/OpenServerActivity/WishingPoolModel.cs
+++ b/System/OpenServerActivity/WishingPoolModel.cs
@@ -36,8 +36,8 @@
         public void OnPlayerLoginOk()
         {
             GlobalTimeEvent.Instance.secondEvent += UpdateSecond;
-            UpdateFreeWishRedpoint();
             UpdateRedpoint();
+            UpdateFreeWishRedpoint();
         }
 
         public override void UnInit()
@@ -73,8 +73,8 @@
         {
             if (type == Operation.WishingWellInfo && state == 0)
             {
-                UpdateFreeWishRedpoint();
                 UpdateRedpoint();
+                UpdateFreeWishRedpoint();
                 if (onStateUpate != null)
                 {
                     onStateUpate((int)OpenServerActivityCenter.OSActivityType.WishingPool);
@@ -97,8 +97,9 @@
         {
             if (type == Operation.WishingWellInfo && state == 0)
             {
-                UpdateFreeWishRedpoint();
+              
                 UpdateRedpoint();
+                UpdateFreeWishRedpoint();
                 if (onStateUpate != null)
                 {
                     onStateUpate((int)OpenServerActivityCenter.OSActivityType.WishingPool);
@@ -181,7 +182,6 @@
             if(!isCool)
             {
                 UpdateFreeWishRedpoint();
-                UpdateRedpoint();
             }
         }
 
@@ -241,9 +241,9 @@
                     SetWishingAwardData(i, wellItem);
                 }
             }
-            UpdateFreeWishRedpoint();
             UpdateRedpoint();
-            if(UpdateWishAwardEvent != null)
+            UpdateFreeWishRedpoint();
+            if (UpdateWishAwardEvent != null)
             {
                 UpdateWishAwardEvent();
             }
@@ -273,6 +273,7 @@
                 }
             }
             UpdateRedpoint();
+            UpdateFreeWishRedpoint();
         }
 
         public void SetWishingPoolData(int index, WishingWellItem wellItem)
@@ -412,6 +413,14 @@
         {
             freeWishRedpoint.state = RedPointState.None;
             if (!IsOpen) return;
+            for (int i = 0; i < wishPointlist.Count; i++)
+            {
+                var wishPoint = wishPointlist[i];
+                if(wishPoint.state != RedPointState.None)
+                {
+                    return;
+                }
+            }
 
             int second = 0;
             bool isCool = TryGetFreeWishCoolTime(out second);
@@ -429,7 +438,7 @@
                 wishPoint.state = RedPointState.None;
             }
 
-            if (!IsOpen || freeWishRedpoint.state != RedPointState.None) return;
+            if (!IsOpen) return;
 
             for (int i = 0; i < wishPointlist.Count; i++)
             {
diff --git a/System/Realm/RealmPropertyUpWin.cs b/System/Realm/RealmPropertyUpWin.cs
index fec5b3b..3aa5c8f 100644
--- a/System/Realm/RealmPropertyUpWin.cs
+++ b/System/Realm/RealmPropertyUpWin.cs
@@ -48,6 +48,8 @@
 
         FunctionUnlockFlyObject flyObject;
 
+        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
+
         DateTime openTime = DateTime.Now;
         #region Built-in
         protected override void BindController()
@@ -290,11 +292,64 @@
             switch (ActivateShow.activateType)
             {
                 case ActivateShow.ActivateFunc.Realm:
-                case ActivateShow.ActivateFunc.GodWeaponEffect:
                     m_ModelRawImage.gameObject.SetActive(true);
                     m_ModelRawImage.rectTransform.sizeDelta = new Vector2(680, 510);
                     UI3DModelExhibition.Instance.ShowPlayer(m_ModelRawImage, PlayerDatas.Instance.baseData.Job, RoleEquipType.retWing);
                     break;
+                case ActivateShow.ActivateFunc.GodWeaponEffect:
+                    m_ModelRawImage.gameObject.SetActive(true);
+                    m_ModelRawImage.rectTransform.sizeDelta = new Vector2(680, 510);
+
+                    var clothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retClothes);
+                    var _clothesId = clothes == null ? 0 : (int)clothes.itemInfo.ItemID;
+
+                    var weapon = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon);
+                    var _weaponId = weapon == null ? 0 : (int)weapon.itemInfo.ItemID;
+
+                    var secondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon2);
+                    var _secondaryId = secondary == null ? 0 : (int)secondary.itemInfo.ItemID;
+
+                    var fashionClothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionClothes);
+                    var fashionClothesId = fashionClothes == null ? 0 : (int)fashionClothes.itemInfo.ItemID;
+
+                    var fashionWeapon = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon);
+                    var fashionWeaponId = fashionWeapon == null ? 0 : (int)fashionWeapon.itemInfo.ItemID;
+
+                    var fashionSecondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFashionWeapon2);
+                    var fashionSecondaryId = fashionSecondary == null ? 0 : (int)fashionSecondary.itemInfo.ItemID;
+
+                    var model = ModelCenter.Instance.GetModel<MagicianModel>();
+                    Dictionary<int, int> dict = new Dictionary<int, int>();
+                    for (int i = 0; i < model.godWeaponTypes.Count; i++)
+                    {
+                        var type = model.godWeaponTypes[i];
+                        var godWeaponInfo = model.GetGodWeaponInfo(type);
+                        if (type == ActivateShow.godWeaponType)
+                        {
+                            var level = model.GetGodWeaponStageRequireLevel(type, ActivateShow.godWeaponStage);
+                            dict.Add(type, level);
+                        }
+                        else
+                        {
+                            dict.Add(type, godWeaponInfo == null ? 0 : godWeaponInfo.level);
+                        }
+                    }
+
+                    UI3DPlayerExhibitionData data = new UI3DPlayerExhibitionData()
+                    {
+                        job = PlayerDatas.Instance.baseData.Job,
+                        fashionClothesId = fashionClothesId,
+                        clothesId = _clothesId,
+                        fashionWeaponId = fashionWeaponId,
+                        weaponId = _weaponId,
+                        fashionSecondaryId = fashionSecondaryId,
+                        secondaryId = _secondaryId,
+                        godWeapons = dict,
+                    };
+
+
+                    UI3DModelExhibition.Instance.ShowOtherPlayer(m_ModelRawImage, data);
+                    break;
                 case ActivateShow.ActivateFunc.GodWeapon:
                     m_ModelRawImage.gameObject.SetActive(true);
                     m_ModelRawImage.rectTransform.sizeDelta = new Vector2(600, 600);
diff --git a/System/Role/EquipShowSwitch.cs b/System/Role/EquipShowSwitch.cs
new file mode 100644
index 0000000..dad96a8
--- /dev/null
+++ b/System/Role/EquipShowSwitch.cs
@@ -0,0 +1,116 @@
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+namespace Snxxz.UI
+{
+    [XLua.Hotfix]
+    public static class EquipShowSwitch
+    {
+        static MagicianModel godWeaponModel
+        {
+            get { return ModelCenter.Instance.GetModel<MagicianModel>(); }
+        }
+
+        const int GODWEAPON_EFFECT_STAGE = 3;
+
+        public static bool IsGodWeaponEffectOn(uint value, out Dictionary<int, int> dict)
+        {
+            dict = new Dictionary<int, int>();
+            foreach (var type in godWeaponModel.godWeaponEffectTypes)
+            {
+                var level = 0;
+                if (IsGodWeaponEffectOn(value, type, out level))
+                {
+                    dict.Add(type, level);
+                }
+            }
+            return dict.Count > 0;
+        }
+
+        public static bool IsGodWeaponEffectOn(uint value, int type, out int level)
+        {
+            level = 0;
+            for (int i = 0; i < GODWEAPON_EFFECT_STAGE; i++)
+            {
+                var stage = i + 1;
+                var index = GetGodWeaponEquipShowIndex(type, stage);
+                if (MathUtility.GetBitValue(value, index))
+                {
+                    level = godWeaponModel.GetGodWeaponStageRequireLevel(type, stage);
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        public static byte GetGodWeaponEquipShowIndex(int type, int stage)
+        {
+            EquipShowSwitchType switchType = EquipShowSwitchType.GodWeapon_Life1;
+            switch (type)
+            {
+                case 1:
+                    switchType = stage == 1 ? EquipShowSwitchType.GodWeapon_Life1 : stage == 2 ?
+                        EquipShowSwitchType.GodWeapon_Life2 : EquipShowSwitchType.GodWeapon_Life3;
+                    break;
+                case 2:
+                    switchType = stage == 1 ? EquipShowSwitchType.GodWeapon_Atk1 : stage == 2 ?
+                        EquipShowSwitchType.GodWeapon_Atk2 : EquipShowSwitchType.GodWeapon_Atk3;
+                    break;
+                case 4:
+                    switchType = stage == 1 ? EquipShowSwitchType.GodWeapon_Defend1 : stage == 2 ?
+                        EquipShowSwitchType.GodWeapon_Defend2 : EquipShowSwitchType.GodWeapon_Defend3;
+                    break;
+            }
+            return (byte)switchType;
+        }
+
+        public static void SendGodWeaponEffectOn(int type, int stage, bool isOn)
+        {
+            var level = 0;
+            var value = PlayerDatas.Instance.baseData.equipShowSwitch;
+            var requireLevel = godWeaponModel.GetGodWeaponStageRequireLevel(type, stage);
+            if (isOn && IsGodWeaponEffectOn(value, type, out level)
+                && level != requireLevel)
+            {
+                var _stage = 0;
+                if (godWeaponModel.TryGetGodWeaponStage(type, level, out _stage))
+                {
+                    var index = GetGodWeaponEquipShowIndex(type, _stage);
+                    value = (uint)MathUtility.SetBitValue((int)value, index, false);
+                }
+            }
+
+            {
+                var index = GetGodWeaponEquipShowIndex(type, stage);
+                value = (uint)MathUtility.SetBitValue((int)value, index, isOn);
+            }
+
+            if (value != PlayerDatas.Instance.baseData.equipShowSwitch)
+            {
+                SendPackage(value);
+            }
+        }
+
+        public static void SendPackage(uint value)
+        {
+            C032F_tagCRequestEquipShowHide pak = new C032F_tagCRequestEquipShowHide();
+            pak.EquipShowSwitch = value;
+            GameNetSystem.Instance.SendInfo(pak);
+        }
+
+        public enum EquipShowSwitchType : byte
+        {
+            GodWeapon_Life1,//鐢熷懡
+            GodWeapon_Life2,
+            GodWeapon_Life3,
+            GodWeapon_Atk1,//鏀诲嚮
+            GodWeapon_Atk2,
+            GodWeapon_Atk3,
+            GodWeapon_Defend1,//鎶ょ浘
+            GodWeapon_Defend2,
+            GodWeapon_Defend3,
+            max = 32,
+        }
+    }
+}
+
diff --git a/System/Role/EquipShowSwitch.cs.meta b/System/Role/EquipShowSwitch.cs.meta
new file mode 100644
index 0000000..d42c3fc
--- /dev/null
+++ b/System/Role/EquipShowSwitch.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 01dcfe375cd5cf940bd33f6b2f4db077
+timeCreated: 1547125411
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Role/GodWeaponPreviewWin.cs b/System/Role/GodWeaponPreviewWin.cs
index b2c1994..c8e8f31 100644
--- a/System/Role/GodWeaponPreviewWin.cs
+++ b/System/Role/GodWeaponPreviewWin.cs
@@ -65,6 +65,8 @@
         {
             Display();
             DisplayGodWeaponTypes();
+
+            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
         }
 
         protected override void OnAfterOpen()
@@ -73,6 +75,7 @@
 
         protected override void OnPreClose()
         {
+            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
             UI3DModelExhibition.Instance.StopShow();
             UI3DModelExhibition.InstanceClone1.StopShow();
         }
@@ -81,6 +84,15 @@
         {
         }
         #endregion
+
+        private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType)
+        {
+            if (refreshType == PlayerDataRefresh.EquipShowSwitch)
+            {
+                DisplayEquip();
+                DisplayModel();
+            }
+        }
 
         void Display()
         {
@@ -137,6 +149,7 @@
             DisplayProperty();
             DisplayFightPower();
             DisplayGodWeaponEffect();
+            DisplayEquip();
         }
 
         private void DisplayRequireLevel()
@@ -194,7 +207,7 @@
         void DisplayEquip()
         {
             var equipedLevel = 0;
-            model.IsGodWeaponEffectEquip(selectGodWeaponType, out equipedLevel);
+            EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, selectGodWeaponType, out equipedLevel);
             for (int i = 0; i < m_EquipSigns.Length; i++)
             {
                 var stage = i + 1;
@@ -208,12 +221,12 @@
 
         private void Equip()
         {
-
+            EquipShowSwitch.SendGodWeaponEffectOn(selectGodWeaponType, selectStage, true);
         }
 
         private void PutOff()
         {
-
+            EquipShowSwitch.SendGodWeaponEffectOn(selectGodWeaponType, selectStage, false);
         }
 
         private void DisplayModel()
@@ -268,7 +281,7 @@
                 {
                     dict[type] = model.GetGodWeaponStageRequireLevel(selectGodWeaponType, selectStage);
                 }
-                else if (model.IsGodWeaponEffectEquip(type, out equipedLevel))
+                else if (EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, type, out equipedLevel))
                 {
                     dict[type] = equipedLevel;
                 }
diff --git a/System/Role/GodWeaponSkillBehaviour.cs b/System/Role/GodWeaponSkillBehaviour.cs
index 2cd2464..6ea922c 100644
--- a/System/Role/GodWeaponSkillBehaviour.cs
+++ b/System/Role/GodWeaponSkillBehaviour.cs
@@ -54,7 +54,7 @@
             m_Effect.StopImediatly();
             if (config != null)
             {
-                m_SkillIcon.SetSprite(config.icon);
+                m_SkillIcon.SetSprite(model.GetEffectSkillIcon(config.type, config.level));
                 var weaponInfo = model.GetGodWeaponInfo(config.type);
                 bool active = weaponInfo != null && weaponInfo.level >= config.level;
                 m_SkillCondition.gameObject.SetActive(!active);
diff --git a/System/Role/MagicianModel.cs b/System/Role/MagicianModel.cs
index af4f7e0..06be2e8 100644
--- a/System/Role/MagicianModel.cs
+++ b/System/Role/MagicianModel.cs
@@ -74,6 +74,7 @@
         {
             serverInited = true;
             UpdateRedPoint();
+            CheckGodWeaponEffectOn();
         }
 
         private Dictionary<int, int[]> godWeaponLevelUpCost = new Dictionary<int, int[]>();
@@ -93,6 +94,7 @@
             new Dictionary<int, List<GodWeaponEffectProperty>>();
         Dictionary<int, Dictionary<int, int>> effectFightPower = new Dictionary<int, Dictionary<int, int>>();
         Dictionary<int, int> godWeaponEffectEquipDict = new Dictionary<int, int>();
+        Dictionary<int, List<GodWeaponEffectInfo>> godWeaponEffectInfos = new Dictionary<int, List<GodWeaponEffectInfo>>();
         int[] autoHammerExpArea { get; set; }
         int[] autoHammerCount { get; set; }
 
@@ -261,6 +263,25 @@
                 {
                     godWeaponEffectTypes.Add(config.type);
                 }
+
+                List<GodWeaponEffectInfo> effectInfos;
+                if (!godWeaponEffectInfos.TryGetValue(config.type, out effectInfos))
+                {
+                    effectInfos = new List<GodWeaponEffectInfo>();
+                    godWeaponEffectInfos.Add(config.type, effectInfos);
+                }
+                Dictionary<int, string> skillIconDict = new Dictionary<int, string>();
+                var iconJson = LitJson.JsonMapper.ToObject(config.icon);
+                foreach (var key in iconJson.Keys)
+                {
+                    var job = int.Parse(key);
+                    skillIconDict.Add(job, iconJson[key].ToString());
+                }
+                effectInfos.Add(new GodWeaponEffectInfo()
+                {
+                    level = config.level,
+                    skillIconDict = skillIconDict,
+                });
             }
 
             funcConfig = Config.Instance.Get<FuncConfigConfig>("MagicExterior");
@@ -428,6 +449,7 @@
                 var stage = 0;
                 if (_beforeLv != _nowLv && TryGetUnlockStage(_type, _beforeLv, _nowLv, out stage))
                 {
+                    EquipShowSwitch.SendGodWeaponEffectOn(_type, stage, true);
                     if (WindowCenter.Instance.IsOpen<MagicianWin>()
                           && !NewBieCenter.Instance.inGuiding)
                     {
@@ -742,17 +764,6 @@
             return godWeaponSkillEffect.TryGetValue(skillId, out effect);
         }
 
-        public bool IsGodWeaponEffectEquip(int type, out int level)
-        {
-            level = 0;
-            if (godWeaponEffectEquipDict.ContainsKey(type))
-            {
-                level = godWeaponEffectEquipDict[type];
-                return true;
-            }
-            return false;
-        }
-
         public bool TryGetEffectProperty(int type, int level, out Dictionary<int, int> dict)
         {
             dict = null;
@@ -837,6 +848,67 @@
             displaySkillLevels.Sort();
             return displaySkillLevels;
         }
+
+        public string GetEffectSkillIcon(int type, int level)
+        {
+            var job = PlayerDatas.Instance.baseData.Job;
+            if (godWeaponEffectInfos.ContainsKey(type))
+            {
+                var list = godWeaponEffectInfos[type];
+                var index = list.FindIndex((x) =>
+                 {
+                     return x.level == level;
+                 });
+                if (index != -1)
+                {
+                    if (list[index].skillIconDict.ContainsKey(job))
+                    {
+                        return list[index].skillIconDict[job];
+                    }
+                }
+            }
+            return string.Empty;
+        }
+
+        void CheckGodWeaponEffectOn()
+        {
+            var value = PlayerDatas.Instance.baseData.equipShowSwitch;
+            if (value == 7)
+            {
+                value = 0;
+                foreach (var type in godWeaponEffectTypes)
+                {
+                    var stage = GetGodWeaponStage(type);
+                    if (stage != 0 && stage <= 3)
+                    {
+                        var index = EquipShowSwitch.GetGodWeaponEquipShowIndex(type, stage);
+                        value = (uint)MathUtility.SetBitValue((int)value, index, true);
+                    }
+                }
+            }
+            else
+            {
+                foreach (var type in godWeaponEffectTypes)
+                {
+                    var requireLevel = 0;
+                    var godWeapon = GetGodWeaponInfo(type);
+                    if (EquipShowSwitch.IsGodWeaponEffectOn(value, type, out requireLevel)
+                        && (godWeapon == null || godWeapon.level < requireLevel))
+                    {
+                        var stage = 0;
+                        if (TryGetGodWeaponStage(type, requireLevel, out stage))
+                        {
+                            var index = EquipShowSwitch.GetGodWeaponEquipShowIndex(type, stage);
+                            value = (uint)MathUtility.SetBitValue((int)value, index, false);
+                        }
+                    }
+                }
+            }
+            if (value != PlayerDatas.Instance.baseData.equipShowSwitch)
+            {
+                EquipShowSwitch.SendPackage(value);
+            }
+        }
     }
 
     public class GodWeaponInfo
@@ -863,5 +935,11 @@
         public int level;
         public Dictionary<int, int> propertyDict;
     }
+
+    public struct GodWeaponEffectInfo
+    {
+        public int level;
+        public Dictionary<int, string> skillIconDict;
+    }
 }
 
diff --git a/System/RoleParticulars/RoleParticularModel.cs b/System/RoleParticulars/RoleParticularModel.cs
index 4de52d7..d78f5a6 100644
--- a/System/RoleParticulars/RoleParticularModel.cs
+++ b/System/RoleParticulars/RoleParticularModel.cs
@@ -785,6 +785,7 @@
             public int JobRank;
             public int FamilyID;
             public ulong FightPower;
+            public uint EquipShowSwitch;
         }
 
         public class RolePlusData
diff --git a/System/RoleParticulars/RoleParticularsWin.cs b/System/RoleParticulars/RoleParticularsWin.cs
index eb27914..fd81d16 100644
--- a/System/RoleParticulars/RoleParticularsWin.cs
+++ b/System/RoleParticulars/RoleParticularsWin.cs
@@ -257,14 +257,8 @@
                     fashionWeapon2 = itemData.ItemID;
                 }
 
-                var godWeapons = new Dictionary<int, int>();
-                var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
-                for (int i = 0; i < magicianModel.godWeaponTypes.Count; i++)
-                {
-                    var type = magicianModel.godWeaponTypes[i];
-                    var level = viewPlayerData.rolePlusData.GetGodWeaponLevel(type);
-                    godWeapons.Add(type, level);
-                }
+                Dictionary<int, int> dict = null;
+                EquipShowSwitch.IsGodWeaponEffectOn(viewPlayerData.rolePropData.EquipShowSwitch, out dict);
 
                 var data = new UI3DPlayerExhibitionData
                 {
@@ -277,7 +271,7 @@
                     weaponId = weapon,
                     wingsId = wing,
                     secondaryId = weapon2,
-                    godWeapons = godWeapons,
+                    godWeapons = dict,
                     isDialogue = false,
                 };
                 UI3DModelExhibition.Instance.ShowOtherPlayer(roleModel, data);
diff --git a/System/Skill/SkillBehaviour.cs b/System/Skill/SkillBehaviour.cs
index df3aacf..c7cd425 100644
--- a/System/Skill/SkillBehaviour.cs
+++ b/System/Skill/SkillBehaviour.cs
@@ -40,7 +40,8 @@
         public void DisplayGodWeaponEffect(GodWeaponEffectConfig config)
         {
             godWeaponEffectConfig = config;
-            m_SkillIcon.SetSprite(config.icon);
+            var _model = ModelCenter.Instance.GetModel<MagicianModel>();
+            m_SkillIcon.SetSprite(_model.GetEffectSkillIcon(config.type, config.level));
             if (m_SkillName != null)
             {
                 m_SkillName.text = config.skillName;
diff --git a/System/Store/Logic/BuyBoxInfoWin.cs b/System/Store/Logic/BuyBoxInfoWin.cs
index d9cc656..267f5aa 100644
--- a/System/Store/Logic/BuyBoxInfoWin.cs
+++ b/System/Store/Logic/BuyBoxInfoWin.cs
@@ -237,7 +237,7 @@
                                 realmImg.SetSprite(realmConfig.Img);
                             }
                         }
-
+                        realmImg.SetNativeSize();
                         if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
                         {
                             realmTitleText.color = conditionColor;
diff --git a/System/Store/Logic/BuyEquipTip.cs b/System/Store/Logic/BuyEquipTip.cs
index 4e0f76a..8274e67 100644
--- a/System/Store/Logic/BuyEquipTip.cs
+++ b/System/Store/Logic/BuyEquipTip.cs
@@ -330,7 +330,7 @@
                                     realmImg.SetSprite(realmConfig.Img);
                                 }
                             }
-
+                            realmImg.SetNativeSize();
                             if (PlayerDatas.Instance.baseData.realmLevel >= itemAttrData.itemConfig.RealmLimit)
                             {
                                 realmTitleText.color = conditionColor;
diff --git a/System/Store/Logic/BuyItemInfoWin.cs b/System/Store/Logic/BuyItemInfoWin.cs
index afe18e2..180749c 100644
--- a/System/Store/Logic/BuyItemInfoWin.cs
+++ b/System/Store/Logic/BuyItemInfoWin.cs
@@ -231,6 +231,7 @@
                                 realmImg.SetSprite(realmConfig.Img);
                             }
                         }
+                        realmImg.SetNativeSize();
 
                         if (PlayerDatas.Instance.baseData.realmLevel >= itemTipsModel.curAttrData.itemConfig.RealmLimit)
                         {
diff --git a/System/Store/Logic/BuyWingsTip.cs b/System/Store/Logic/BuyWingsTip.cs
index b6d5899..39c8cd6 100644
--- a/System/Store/Logic/BuyWingsTip.cs
+++ b/System/Store/Logic/BuyWingsTip.cs
@@ -236,6 +236,7 @@
                     }
                    
                 }
+                conditionValueText.SetNativeSize();
             }
             else
             {
diff --git a/System/Tip/SkillDetailsWin.cs b/System/Tip/SkillDetailsWin.cs
index 3540c54..d04962d 100644
--- a/System/Tip/SkillDetailsWin.cs
+++ b/System/Tip/SkillDetailsWin.cs
@@ -138,7 +138,7 @@
             var level = godWeaponModel.GetGodWeaponStageRequireLevel(SkillDetails.godWeaponType, SkillDetails.godWeaponEffectStage);
             var godWeaponEffectConfig = GodWeaponEffectConfig.Get(SkillDetails.godWeaponType, level);
             var config = GodWeaponConfig.GetConfig(SkillDetails.godWeaponType, 1);
-            m_SkillIcon.SetSprite(godWeaponEffectConfig.icon);
+            m_SkillIcon.SetSprite(godWeaponModel.GetEffectSkillIcon(godWeaponEffectConfig.type, godWeaponEffectConfig.level));
             m_SkillInfo1.text = Language.Get("GodWeaponEffectSource", config.Name);
             m_SkillInfo2.text = godWeaponEffectConfig.skillName;
 
diff --git a/System/Treasure/FunctionUnlockFlyObject.cs b/System/Treasure/FunctionUnlockFlyObject.cs
index 701b902..1bb25b8 100644
--- a/System/Treasure/FunctionUnlockFlyObject.cs
+++ b/System/Treasure/FunctionUnlockFlyObject.cs
@@ -110,7 +110,8 @@
         {
             m_UnLockType = FunctionUnlockType.GodWeaponEffect;
             m_Id = config.level;
-            m_FunctionIcon.SetSprite(config.icon);
+            var _model = ModelCenter.Instance.GetModel<MagicianModel>();
+            m_FunctionIcon.SetSprite(_model.GetEffectSkillIcon(config.type, config.level));
             originalScale = 1f;
 
             this.transform.localScale = Vector3.one * originalScale;
diff --git a/UI/Common/UI3DModelExhibition.cs b/UI/Common/UI3DModelExhibition.cs
index e7710a9..bf33ab2 100644
--- a/UI/Common/UI3DModelExhibition.cs
+++ b/UI/Common/UI3DModelExhibition.cs
@@ -120,6 +120,8 @@
             var secondaryItemId = 0;
             var suitLevel = 0;
             var equipInfos = PlayerDatas.Instance.loginInfo.EquipInfo;
+            Dictionary<int, int> dict = null;
+            EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.loginInfo.EquipShowSwitch, out dict);
 
             for (int i = 0; i < equipInfos.Length; i++)
             {
@@ -171,11 +173,7 @@
                 wingsId = wingsItemId,
                 secondaryId = secondaryItemId,
                 isDialogue = false,
-                godWeapons = new Dictionary<int, int>() {
-                    { 1,  (int)PlayerDatas.Instance.loginInfo.ExAttr15 },
-                    { 2,  (int)PlayerDatas.Instance.loginInfo.ExAttr16},
-                    { 3,  (int)PlayerDatas.Instance.loginInfo.ExAttr17 },
-                    { 4,  (int)PlayerDatas.Instance.loginInfo.ExAttr18 } }
+                godWeapons = dict
             };
 
             ShowPlayer(_rawImage, data);
@@ -213,11 +211,8 @@
                 }
             }
 
-            var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
-            var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
-            var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
-            var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
-            var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
+            Dictionary<int, int> dict = null;
+            EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
             var data = new UI3DPlayerExhibitionData
             {
                 job = _job,
@@ -230,12 +225,7 @@
                 wingsId = wingsId,
                 secondaryId = secondaryId,
                 isDialogue = _isDialogue,
-                godWeapons = new Dictionary<int, int>() {
-                    { 1, godWeapon1==null?0:godWeapon1.level },
-                    { 2, godWeapon2==null?0:godWeapon2.level },
-                    { 3, godWeapon3==null?0:godWeapon3.level },
-                    { 4, godWeapon4==null?0:godWeapon4.level }
-                }
+                godWeapons = dict
             };
 
             ShowPlayer(_rawImage, data);
@@ -295,11 +285,8 @@
                 }
             }
 
-            var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
-            var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
-            var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
-            var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
-            var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
+            Dictionary<int, int> dict = null;
+            EquipShowSwitch.IsGodWeaponEffectOn(PlayerDatas.Instance.baseData.equipShowSwitch, out dict);
             var data = new UI3DPlayerExhibitionData
             {
                 job = job,
@@ -312,12 +299,7 @@
                 fashionWeaponId = flashWeaponId,
                 fashionSecondaryId = flashSecondaryId,
                 isDialogue = false,
-                godWeapons = new Dictionary<int, int>() {
-                    { 1, godWeapon1==null?0:godWeapon1.level },
-                    { 2, godWeapon2==null?0:godWeapon2.level },
-                    { 3, godWeapon3==null?0:godWeapon3.level },
-                    { 4, godWeapon4==null?0:godWeapon4.level }
-                }
+                godWeapons = dict
             };
 
             ShowPlayer(rawImage, data);

--
Gitblit v1.8.0