少年修仙传客户端代码仓库
lcy
2024-09-11 ef77fa01eca5e07633c5d0c77dce023fa1f9aa9c
10250 仙宫

仙宫有红点时,打开界面时默认滑动到红点位置
仙名录点击查看玩家
境界展示取图片
4 文件已复制
1个文件已删除
1 文件已重命名
5个文件已添加
5个文件已修改
407 ■■■■ 已修改文件
System/CelestialPalace/CelestialPalaceHellCell.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell1.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell1.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell2.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell2.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell3.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell3.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell4.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell4.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell5.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell5.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellWin.cs 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceModel.cs 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceNameListCell.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceNameListWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceRoomWin.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CelestialPalace/CelestialPalaceHellCell.cs
File was deleted
System/CelestialPalace/CelestialPalaceHellCell1.cs
New file
@@ -0,0 +1,22 @@
using UnityEngine;
using vnxbqy.UI;
public class CelestialPalaceHellCell1 : CellView
{
    [SerializeField] ButtonEx btnXG;
    [SerializeField] TextEx txtXGName;
    [SerializeField] RedpointBehaviour redPoint;
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    public void Display(int rowIndex)
    {
        int[][] hellShowArr = model.hellShowArr;
        var xgId = hellShowArr[rowIndex][0];
        btnXG.SetListener(() =>
        {
            txtXGName.text = Language.Get(StringUtility.Contact("CelestialPalaceName_", xgId));
            redPoint.redpointId = (MainRedDot.CelestialPalaceRepoint * 10 + 1) * 1000 + xgId;
            model.currentSelectedXGId = xgId;
            WindowCenter.Instance.Open<CelestialPalaceRoomWin>();
        });
    }
}
System/CelestialPalace/CelestialPalaceHellCell1.cs.meta
copy from System/CelestialPalace/CelestialPalaceHellCell.cs.meta copy to System/CelestialPalace/CelestialPalaceHellCell1.cs.meta
File was copied from System/CelestialPalace/CelestialPalaceHellCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5571bef22a258e547a65a6947748f118
guid: d2728100b6cf0614eb1de7a7750bb9cb
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
System/CelestialPalace/CelestialPalaceHellCell2.cs
New file
@@ -0,0 +1,36 @@
using System.Collections.Generic;
using UnityEngine;
using vnxbqy.UI;
public class CelestialPalaceHellCell2 : CellView
{
    [SerializeField] List<ButtonEx> btnXGList = new List<ButtonEx>();
    [SerializeField] List<TextEx> txtXGNameList = new List<TextEx>();
    [SerializeField] List<RedpointBehaviour> redPointList = new List<RedpointBehaviour>();
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    public void Display(int rowIndex)
    {
        int[][] hellShowArr = model.hellShowArr;
        int[] rowInfo = hellShowArr[rowIndex];
        for (int i = 0; i < btnXGList.Count; i++)
        {
            if (i < rowInfo.Length)
            {
                btnXGList[i].SetActive(true);
                var xgId = hellShowArr[rowIndex][i];
                txtXGNameList[i].text = Language.Get(StringUtility.Contact("CelestialPalaceName_", xgId));
                redPointList[i].redpointId = (MainRedDot.CelestialPalaceRepoint * 10 + 1) * 1000 + xgId;
                btnXGList[i].SetListener(() =>
                {
                    model.currentSelectedXGId = xgId;
                    WindowCenter.Instance.Open<CelestialPalaceRoomWin>();
                });
            }
            else
            {
                btnXGList[i].SetActive(false);
            }
        }
    }
}
System/CelestialPalace/CelestialPalaceHellCell2.cs.meta
copy from System/CelestialPalace/CelestialPalaceHellCell.cs.meta copy to System/CelestialPalace/CelestialPalaceHellCell2.cs.meta
File was copied from System/CelestialPalace/CelestialPalaceHellCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5571bef22a258e547a65a6947748f118
guid: 3c020e50256c48a459ce74c3d909deec
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
System/CelestialPalace/CelestialPalaceHellCell3.cs
New file
@@ -0,0 +1,36 @@
using System.Collections.Generic;
using UnityEngine;
using vnxbqy.UI;
public class CelestialPalaceHellCell3 : CellView
{
    [SerializeField] List<ButtonEx> btnXGList = new List<ButtonEx>();
    [SerializeField] List<TextEx> txtXGNameList = new List<TextEx>();
    [SerializeField] List<RedpointBehaviour> redPointList = new List<RedpointBehaviour>();
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    public void Display(int rowIndex)
    {
        int[][] hellShowArr = model.hellShowArr;
        int[] rowInfo = hellShowArr[rowIndex];
        for (int i = 0; i < btnXGList.Count; i++)
        {
            if (i < rowInfo.Length)
            {
                btnXGList[i].SetActive(true);
                var xgId = hellShowArr[rowIndex][i];
                txtXGNameList[i].text = Language.Get(StringUtility.Contact("CelestialPalaceName_", xgId));
                redPointList[i].redpointId = (MainRedDot.CelestialPalaceRepoint * 10 + 1) * 1000 + xgId;
                btnXGList[i].SetListener(() =>
                {
                    model.currentSelectedXGId = xgId;
                    WindowCenter.Instance.Open<CelestialPalaceRoomWin>();
                });
            }
            else
            {
                btnXGList[i].SetActive(false);
            }
        }
    }
}
System/CelestialPalace/CelestialPalaceHellCell3.cs.meta
copy from System/CelestialPalace/CelestialPalaceHellCell.cs.meta copy to System/CelestialPalace/CelestialPalaceHellCell3.cs.meta
File was copied from System/CelestialPalace/CelestialPalaceHellCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5571bef22a258e547a65a6947748f118
guid: a063bd546f30d8e49a994ea708e0a2b1
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
System/CelestialPalace/CelestialPalaceHellCell4.cs
New file
@@ -0,0 +1,36 @@
using System.Collections.Generic;
using UnityEngine;
using vnxbqy.UI;
public class CelestialPalaceHellCell4 : CellView
{
    [SerializeField] List<ButtonEx> btnXGList = new List<ButtonEx>();
    [SerializeField] List<TextEx> txtXGNameList = new List<TextEx>();
    [SerializeField] List<RedpointBehaviour> redPointList = new List<RedpointBehaviour>();
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    public void Display(int rowIndex)
    {
        int[][] hellShowArr = model.hellShowArr;
        int[] rowInfo = hellShowArr[rowIndex];
        for (int i = 0; i < btnXGList.Count; i++)
        {
            if (i < rowInfo.Length)
            {
                btnXGList[i].SetActive(true);
                var xgId = hellShowArr[rowIndex][i];
                txtXGNameList[i].text = Language.Get(StringUtility.Contact("CelestialPalaceName_", xgId));
                redPointList[i].redpointId = (MainRedDot.CelestialPalaceRepoint * 10 + 1) * 1000 + xgId;
                btnXGList[i].SetListener(() =>
                {
                    model.currentSelectedXGId = xgId;
                    WindowCenter.Instance.Open<CelestialPalaceRoomWin>();
                });
            }
            else
            {
                btnXGList[i].SetActive(false);
            }
        }
    }
}
System/CelestialPalace/CelestialPalaceHellCell4.cs.meta
copy from System/CelestialPalace/CelestialPalaceHellCell.cs.meta copy to System/CelestialPalace/CelestialPalaceHellCell4.cs.meta
File was copied from System/CelestialPalace/CelestialPalaceHellCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5571bef22a258e547a65a6947748f118
guid: 5f50ac1ea18e24c4196af6c4b2911e55
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
System/CelestialPalace/CelestialPalaceHellCell5.cs
New file
@@ -0,0 +1,36 @@
using System.Collections.Generic;
using UnityEngine;
using vnxbqy.UI;
public class CelestialPalaceHellCell5 : CellView
{
    [SerializeField] List<ButtonEx> btnXGList = new List<ButtonEx>();
    [SerializeField] List<TextEx> txtXGNameList = new List<TextEx>();
    [SerializeField] List<RedpointBehaviour> redPointList = new List<RedpointBehaviour>();
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    public void Display(int rowIndex)
    {
        int[][] hellShowArr = model.hellShowArr;
        int[] rowInfo = hellShowArr[rowIndex];
        for (int i = 0; i < btnXGList.Count; i++)
        {
            if (i < rowInfo.Length)
            {
                btnXGList[i].SetActive(true);
                var xgId = hellShowArr[rowIndex][i];
                txtXGNameList[i].text = Language.Get(StringUtility.Contact("CelestialPalaceName_", xgId));
                redPointList[i].redpointId = (MainRedDot.CelestialPalaceRepoint * 10 + 1) * 1000 + xgId;
                btnXGList[i].SetListener(() =>
                {
                    model.currentSelectedXGId = xgId;
                    WindowCenter.Instance.Open<CelestialPalaceRoomWin>();
                });
            }
            else
            {
                btnXGList[i].SetActive(false);
            }
        }
    }
}
System/CelestialPalace/CelestialPalaceHellCell5.cs.meta
File was renamed from System/CelestialPalace/CelestialPalaceHellCell.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 5571bef22a258e547a65a6947748f118
guid: 909aee33b0ce95944a2cedbe9b093eba
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
System/CelestialPalace/CelestialPalaceHellWin.cs
@@ -35,9 +35,7 @@
    protected override void OnAfterOpen()
    {
        scroller.Refresh();
        scroller.AddCell(ScrollerDataType.Header, 0);
        scroller.Restart();
        CreateScroller();
    }
    void Display()
@@ -49,10 +47,65 @@
        txtLike.color = UIHelper.GetUIColor(isLikeStateToday ? TextColType.Gray : TextColType.NavyYellow);
    }
    void CreateScroller()
    {
        scroller.Refresh();
        int[][] hellShowArr = model.hellShowArr;
        for (int i = 0; i < hellShowArr.Length; i++)
        {
            int lv = model.GetRowIndexLV(i);
            if (lv == 1)
            {
                scroller.AddCell(ScrollerDataType.Header, i);
            }
            else if (lv == 2)
            {
                scroller.AddCell(ScrollerDataType.Normal, i);
            }
            else if (lv == 3)
            {
                scroller.AddCell(ScrollerDataType.Tail, i);
            }
            else if (lv == 4)
            {
                scroller.AddCell(ScrollerDataType.Extra1, i);
            }
            else if (lv == 5)
            {
                scroller.AddCell(ScrollerDataType.Extra2, i);
            }
        }
        scroller.Restart();
        scroller.JumpIndex(model.JumpToCanLikeHellRowIndex());
    }
    void OnRefreshCell(ScrollerDataType type, CellView cell)
    {
        var _cell = cell as CelestialPalaceHellCell;
        _cell.Display(_cell.index);
        if (type == ScrollerDataType.Header)
        {
            var _cell = cell as CelestialPalaceHellCell1;
            _cell.Display(_cell.index);
        }
        else if (type == ScrollerDataType.Normal)
        {
            var _cell = cell as CelestialPalaceHellCell2;
            _cell.Display(_cell.index);
        }
        else if (type == ScrollerDataType.Tail)
        {
            var _cell = cell as CelestialPalaceHellCell3;
            _cell.Display(_cell.index);
        }
        else if (type == ScrollerDataType.Extra1)
        {
            var _cell = cell as CelestialPalaceHellCell4;
            _cell.Display(_cell.index);
        }
        else if (type == ScrollerDataType.Extra2)
        {
            var _cell = cell as CelestialPalaceHellCell5;
            _cell.Display(_cell.index);
        }
    }
    private void OnUpdateXiangongInfoEvent()
System/CelestialPalace/CelestialPalaceModel.cs
@@ -1,4 +1,5 @@
using System;
using LitJson;
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
@@ -7,12 +8,20 @@
{
    public class CelestialPalaceModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        public readonly int MoneyType = 47;     //天道币货币类型
        public readonly int StoreType = 310;     //天道币商店类型
        public readonly int FuncId = 235;       //仙宫功能Id
        public readonly int MaxHeaderCount = 3;
        public readonly int MaxNormalCount = 3;
        public readonly int MaxTailCount = 2;
        public readonly int MoneyType = 47;         //天道币货币类型
        public readonly int StoreType = 310;        //天道币商店类型
        public readonly int FuncId = 235;           //仙宫功能Id
        public readonly int MaxHeaderCount = 3;     //树干天道果数量
        public readonly int MaxNormalCount = 3;     //树枝天道果数量
        public readonly int MaxTailCount = 2;       //树根天道果数量
        public readonly int HellLv1RowCount = 1;       //等级1宫殿总层数
        public readonly int HellLv2RowCount = 2;       //等级2宫殿总层数
        public readonly int HellLv3RowCount = 2;       //等级3宫殿总层数
        public readonly int HellLv4RowCount = 4;       //等级4宫殿总层数
        public readonly int HellLv5RowCount = 3;       //等级5宫殿总层数
        public int moneyItemId;     //天道币货币物品Id
        // 当前选中的页签按钮 0 仙宫 1 天道树 2 天道阁
        private int m_CurrentSelectedTabButtonType;
@@ -47,6 +56,10 @@
            }
        }
        //每行展示的宫殿数组 int[所在行索引][排序后宫殿索引顺序]
        public int[][] hellShowArr;
        //<仙宫Id,所在行索引>  宫殿所在行索引字典
        public Dictionary<int, int> hellRowIndexDict = new Dictionary<int, int>();
        // 树冠所在行索引
        public int headerRowIndex;
        // int[树冠所在行索引,树枝方向] 树冠所在行索引
@@ -106,6 +119,16 @@
        {
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFunctionStateChange;
            moneyItemId = int.Parse(FuncConfigConfig.Get("XiangongSet").Numerical3);
            hellShowArr = JsonMapper.ToObject<int[][]>(FuncConfigConfig.Get("XiangongSet").Numerical4);
            for (int i = 0; i < hellShowArr.Length; i++)
            {
                int[] rowInfo = hellShowArr[i];
                for (int j = 0; j < rowInfo.Length; j++)
                {
                    int xgId = rowInfo[j];
                    hellRowIndexDict[xgId] = i;
                }
            }
            GetRowIndex(out headerRowIndex, out normalRowIndexList, out tailRowIndex, out rowIndexCellDict, out awardIndexToRowIndexDict);
            InitHellRRedpoint();
@@ -698,7 +721,46 @@
            }
            return 0;
        }
        //获得当前层索引的宫殿等级  返回0说明错误,否则返回1-5
        public int GetRowIndexLV(int rowIndex)
        {
            int[] rowCounts = new int[] { HellLv1RowCount, HellLv2RowCount, HellLv3RowCount, HellLv4RowCount, HellLv5RowCount };
            int cumulativeRows = 0;
            for (int i = 0; i < rowCounts.Length; i++)
            {
                cumulativeRows += rowCounts[i];
                if (rowIndex < cumulativeRows)
                {
                    return i + 1; // 等级是从1开始的
                }
            }
            return 0; // 如果索引不在范围内,返回0表示错误
        }
        //跳转到最近宫殿红点索引
        public int JumpToCanLikeHellRowIndex()
        {
            // 有宫殿可点赞
            var hellList = hellRedPointDict.Keys.ToList();
            for (int i = 0; i < hellList.Count; i++)
            {
                int nowXGId = hellList[i];
                bool isLike = IsXGLike(nowXGId);
                bool isRoomHavePlayer = TryGetRoomNewPlayer(nowXGId, out var newPlayerList);
                if (!isLike && isRoomHavePlayer)
                {
                    if (hellRowIndexDict.ContainsKey(nowXGId))
                    {
                        return hellRowIndexDict[nowXGId];
                    }
                }
            }
            return 0;
        }
    }
}
public class CelestialPalacePlayer
{
System/CelestialPalace/CelestialPalaceNameListCell.cs
@@ -1,17 +1,20 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using vnxbqy.UI;
public class CelestialPalaceNameListCell : CellView
{
    [SerializeField] ImageEx imgHead;
    [SerializeField] ImageEx imgTitle;
    [SerializeField] Image imgRealm;
    [SerializeField] TextEx txtNum;
    [SerializeField] TextEx txtDate;
    [SerializeField] TextEx txtNew;
    [SerializeField] TextEx txtPlayerInfo;
    [SerializeField] TextEx txtServerName;
    [SerializeField] ButtonEx btnPlayInfo;
    RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
    CelestialPalaceModel model { get { return ModelCenter.Instance.GetModel<CelestialPalaceModel>(); } }
    public void Display(int index)
    {
@@ -28,19 +31,25 @@
        txtServerName.text = serverName;
        int realmLV = celestialPalacePlayer.RealmLV;
        string name = celestialPalacePlayer.Name;
        imgRealm.SetActive(realmLV > 0);
        if (realmLV > 0)
        {
            txtPlayerInfo.text = Language.Get("CelestialPalace08", serverName, RealmConfig.Get(realmLV).Name, name);
            RealmConfig realmConfig = RealmConfig.Get(realmLV);
            if (realmConfig != null)
            {
                imgRealm.SetSprite(realmConfig.Img);
            }
        }
        else
        {
            txtPlayerInfo.text = Language.Get("CelestialPalace09", serverName, name);
        }
        txtPlayerInfo.text = name;
        txtDate.text = model.GetAddTimeToYearMonthDay(celestialPalacePlayer.AddTime);
        bool isRoomHavePlayer = model.IsNewPlayer(nowXGId, celestialPalacePlayer.PlayerID);
        txtNew.SetActive(isRoomHavePlayer);
        txtNum.SetActive(!isRoomHavePlayer);
        txtNum.text = Language.Get("CelestialPalace11", xgPlayerList.Count - index);
        btnPlayInfo.SetListener(() =>
        {
            roleParticularModel.ViewCrossServerPlayerEquip((int)celestialPalacePlayer.PlayerID);
        });
    }
}
System/CelestialPalace/CelestialPalaceNameListWin.cs
@@ -33,6 +33,7 @@
        model.UpdateXiangongRecPlayerInfoEvent -= OnUpdateXiangongRecPlayerInfoEvent;
        model.UpdateXiangongNewPlayerInfoEvent -= OnUpdateXiangongNewPlayerInfoEvent;
        scroller.OnRefreshCell -= OnRefreshCell;
        WindowCenter.Instance.Open<CelestialPalaceRoomWin>();
    }
    private void OnUpdateXiangongNewPlayerInfoEvent()
System/CelestialPalace/CelestialPalaceRoomWin.cs
@@ -10,6 +10,7 @@
    [SerializeField] ButtonEx btnLeft;
    [SerializeField] ButtonEx btnRight;
    [SerializeField] TextEx txtPlayerInfo;
    [SerializeField] Image imgRealm;
    [SerializeField] TextEx txtLv;
    [SerializeField] TextEx txtServerName;
    [SerializeField] ImageEx imgHead;
@@ -51,6 +52,7 @@
    }
    void OnUpdateXiangongRecPlayerInfoEvent()
    {
        CloseClick();
        WindowCenter.Instance.Open<CelestialPalaceNameListWin>();
    }
@@ -85,14 +87,16 @@
            txtServerName.text = serverName;
            int realmLV = celestialPalacePlayer.RealmLV;
            string name = celestialPalacePlayer.Name;
            imgRealm.SetActive(realmLV > 0);
            if (realmLV > 0)
            {
                txtPlayerInfo.text = Language.Get("CelestialPalace08", serverName, RealmConfig.Get(realmLV).Name, name);
                RealmConfig realmConfig = RealmConfig.Get(realmLV);
                if (realmConfig != null)
                {
                    imgRealm.SetSprite(realmConfig.Img);
                }
            }
            else
            {
                txtPlayerInfo.text = Language.Get("CelestialPalace09", serverName, name);
            }
            txtPlayerInfo.text = name;
            ShowPlayer(rawImage, celestialPalacePlayer.Job, celestialPalacePlayer.EquipShowSwitch, celestialPalacePlayer.EquipShowID);
        }
        else
@@ -109,6 +113,7 @@
        }
        else
        {
            CloseClick();
            WindowCenter.Instance.Open<CelestialPalaceNameListWin>();
        }
@@ -128,35 +133,24 @@
    public void ShowPlayer(RawImage rawImage, int Job, uint EquipShowSwitch, uint[] EquipShowID)
    {
        int _suitLevel = (int)(EquipShowSwitch % 10);
        int clothes = model.GetItemId(RoleEquipType.Clothes, EquipShowID);
        int weapon = model.GetItemId(RoleEquipType.Weapon, EquipShowID);
        int weapon2 = model.GetItemId(RoleEquipType.Weapon2, EquipShowID);
        int fashionClothes = model.GetItemId(RoleEquipType.FashionClothes, EquipShowID);
        int fashionWeapon = model.GetItemId(RoleEquipType.FashionWeapon, EquipShowID);
        int fashionWeapon2 = model.GetItemId(RoleEquipType.FashionWeapon2, EquipShowID);
        var data = new UI3DPlayerExhibitionData
        {
            job = Job,
            fashionClothesId = fashionClothes,
            fashionWeaponId = fashionWeapon,
            fashionSecondaryId = fashionWeapon2,
            clothesId = clothes,
            suitLevel = _suitLevel,
            weaponId = weapon,
            wingsId = 0,
            secondaryId = weapon2,
            reikiRootEffectId = 0,
            fashionClothesId = model.GetItemId(RoleEquipType.FashionClothes, EquipShowID),
            fashionWeaponId = model.GetItemId(RoleEquipType.FashionWeapon, EquipShowID),
            fashionSecondaryId = model.GetItemId(RoleEquipType.FashionWeapon2, EquipShowID),
            clothesId = model.GetItemId(RoleEquipType.Clothes, EquipShowID),
            suitLevel = (int)(EquipShowSwitch % 10),
            weaponId = model.GetItemId(RoleEquipType.Weapon, EquipShowID),
            wingsId = model.GetItemId(RoleEquipType.Wing, EquipShowID),
            secondaryId = model.GetItemId(RoleEquipType.Weapon2, EquipShowID),
            reikiRootEffectId = (int)EquipShowSwitch / 1000 % 1000,
            isDialogue = false,
            equipLevel = (int)EquipShowSwitch / 10 % 100,
            scale = 1.0f,
            //titleID = player.playerInfo.TitleID,
            titleID = XiangongConfig.Get(xgId).TitleID,
        };
        rawImage.SetActive(true);
        UI3DModelExhibition.InstanceClone7.ShowPlayer(rawImage, data);
        UI3DModelExhibition.Instance.ShowPlayer(rawImage, data);
        rawImage.raycastTarget = false;
    }