From 89fa96e505af9fe7baf676591222bfdb23b48262 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 20 十一月 2025 22:38:09 +0800
Subject: [PATCH] 0312 排行榜 坐骑同步武将形象

---
 Main/System/BillboardRank/RankModel.cs                            |    4 ++--
 Main/System/Horse/HorseController.cs                              |    9 +++++++++
 Main/System/PhantasmPavilion/PhantasmPavilionManager.DefaultID.cs |   17 +++++++++++++++++
 Main/System/Horse/HorseWin.cs                                     |    2 +-
 4 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/Main/System/BillboardRank/RankModel.cs b/Main/System/BillboardRank/RankModel.cs
index 0a39a11..318e713 100644
--- a/Main/System/BillboardRank/RankModel.cs
+++ b/Main/System/BillboardRank/RankModel.cs
@@ -73,7 +73,7 @@
         data.value2 = serverData.Value2;
         data.value3 = serverData.Value3;
         data.value4 = serverData.Value4;
-        data.value5 = 5200050;//serverData.Value5; 杩欓噷涓存椂鐢ㄥ疄闄呬紶鐨勬槸褰㈣薄ID鍐嶈幏寰楃毊鑲D
+        data.value5 = (uint)PhantasmPavilionManager.Instance.GetModelSkinID((int)serverData.Value5);//杞垚鐨偆ID
         data.value6 = serverData.Value6;
         data.value7 = serverData.Value7;
         data.value8 = serverData.Value8;
@@ -170,7 +170,7 @@
         data.value2 = serverData.Value2;
         data.value3 = serverData.Value3;
         data.value4 = serverData.Value4;
-        data.value5 = 5200050;//serverData.Value5; 杩欓噷涓存椂鐢ㄥ疄闄呬紶鐨勬槸褰㈣薄ID鍐嶈幏寰楃毊鑲D
+        data.value5 = (uint)PhantasmPavilionManager.Instance.GetModelSkinID((int)serverData.Value5);//杞垚鐨偆ID
         data.value6 = serverData.Value6;
         data.value7 = serverData.Value7;
         data.value8 = serverData.Value8;
diff --git a/Main/System/Horse/HorseController.cs b/Main/System/Horse/HorseController.cs
index e26a83d..fa80444 100644
--- a/Main/System/Horse/HorseController.cs
+++ b/Main/System/Horse/HorseController.cs
@@ -23,6 +23,7 @@
 	{
 		if (skinID == _skinID)
 		{
+			CreateHero(_heroSkinID);
 			//閬垮厤閲嶅鍒涘缓
 			return;
 		}
@@ -81,7 +82,15 @@
 
 	public void CreateHero(int heroSkinID)
 	{
+		if (instanceGO == null)
+        {
+			return;
+        }
 		hero = instanceGO.GetComponentInChildren<UIHeroController>(true);
+		if (hero == null)
+		{
+			return; 
+		}
 		if (heroSkinID == 0)
 		{
 			hero.SetActive(false);
diff --git a/Main/System/Horse/HorseWin.cs b/Main/System/Horse/HorseWin.cs
index c244fa3..5ba4dcd 100644
--- a/Main/System/Horse/HorseWin.cs
+++ b/Main/System/Horse/HorseWin.cs
@@ -100,7 +100,7 @@
     void Display()
     {
         var skinConfig = HorseSkinConfig.Get(HorseManager.Instance.GetHorseSkinID());
-        modelImg.Create(skinConfig.SkinID, 5400010);
+        modelImg.Create(skinConfig.SkinID, PhantasmPavilionManager.Instance.GetMyModelSkinID());
         nameText.text = skinConfig.Name;
         specialAttrText.text = GetSpecialAttr();
 
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.DefaultID.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.DefaultID.cs
index a307ff0..0198e86 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.DefaultID.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.DefaultID.cs
@@ -119,4 +119,21 @@
             return true;
         }
     }
+
+    //鑾峰緱褰㈣薄澶栬ID
+    public int GetModelSkinID(int id)
+    {
+        var config = ModelConfig.Get(id);
+        if (config == null)
+        {
+            TryGetDefaultID(PhantasmPavilionType.Model, PlayerDatas.Instance.baseData.Job, out int defaultID);
+            return ModelConfig.Get(defaultID).SkinID;
+        }
+        return config.SkinID;
+    }
+
+    public int GetMyModelSkinID()
+    {
+        return GetModelSkinID(PlayerDatas.Instance.baseData.modelMark);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0