少年修仙传客户端代码仓库
client_linchunjie
2019-01-11 5e15ed614cfbab3bff07bd6938d9cb3d177d1584
5649 【1.5】【前端】神兵界面优化
13个文件已修改
2个文件已添加
356 ■■■■ 已修改文件
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/PlayerDatas.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShow.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/KingTempleWin.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FashionDress/FashionDressWin.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ModelShowPerfab.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/CreateRoleHeroShow.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmPropertyUpWin.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/EquipShowSwitch.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/EquipShowSwitch.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/GodWeaponPreviewWin.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/MagicianModel.cs 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularsWin.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DModelExhibition.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
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;
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,
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,
                };
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()
            {
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()
            {
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);
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);
System/Role/EquipShowSwitch.cs
New file
@@ -0,0 +1,113 @@
using 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, requireLevel, 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);
            }
            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,
        }
    }
}
System/Role/EquipShowSwitch.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 01dcfe375cd5cf940bd33f6b2f4db077
timeCreated: 1547125411
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
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;
                }
System/Role/MagicianModel.cs
@@ -74,6 +74,7 @@
        {
            serverInited = true;
            UpdateRedPoint();
            CheckGodWeaponEffectOn();
        }
        private Dictionary<int, int[]> godWeaponLevelUpCost = new Dictionary<int, int[]>();
@@ -428,6 +429,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 +744,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 +828,46 @@
            displaySkillLevels.Sort();
            return displaySkillLevels;
        }
        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, false);
                    }
                }
            }
            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
System/RoleParticulars/RoleParticularModel.cs
@@ -785,6 +785,7 @@
            public int JobRank;
            public int FamilyID;
            public ulong FightPower;
            public uint EquipShowSwitch;
        }
        public class RolePlusData
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);
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);