From a1cc0388f0659e2b0e3a68b058f0c62b22a8a61d Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 19 五月 2026 19:56:11 +0800
Subject: [PATCH] 492 武将登场,武将返场,时装特卖独立活动 支持皮肤表配置该功能的立绘是否反转
---
Main/System/HeroDebut/HeroDebutCheckInWin.cs | 4 +
Main/System/Hero/UIHeroController.cs | 14 ++++++-
Main/Config/ConfigManager.cs | 6 +++
Main/System/HeroReturn/HeroReturnSkinWin.cs | 3 +
Main/System/HeroDebut/HeroDebutWin.cs | 3 +
Main/System/HeroDebut/HeroDebutCallWin.cs | 2
Main/System/HeroReturn/HeroReturnCallWin.cs | 3 +
Main/System/HeroReturn/HeroReturnWin.cs | 3 +
Main/System/HeroDebut/HeroDebutSkinWin.cs | 3 +
Main/System/HeroReturn/HeroReturnCheckInWin.cs | 3 +
Main/Config/Configs/HeroSkinConfig.cs | 33 ++++++++++++----
Main/System/HeroReturn/HeroReturnPopWin.cs | 3 +
Main/System/HeroSkinFlashSale/HeroSkinFlashSaleWin.cs | 3 +
Main/System/HeroDebut/HeroDebutPopWin.cs | 2
14 files changed, 63 insertions(+), 22 deletions(-)
diff --git a/Main/Config/ConfigManager.cs b/Main/Config/ConfigManager.cs
index e9e2723..bc21b79 100644
--- a/Main/Config/ConfigManager.cs
+++ b/Main/Config/ConfigManager.cs
@@ -37,6 +37,12 @@
isLoadFinished = false;
// 鍔犺浇閰嶇疆鏂囦欢
+ // 鍔犺浇閰嶇疆鏂囦欢
+ // 鍔犺浇閰嶇疆鏂囦欢
+ // 鍔犺浇閰嶇疆鏂囦欢
+ // 鍔犺浇閰嶇疆鏂囦欢
+ // 鍔犺浇閰嶇疆鏂囦欢
+ // 鍔犺浇閰嶇疆鏂囦欢
HashSet<Type> configTypes = new HashSet<Type>() {
typeof(ActBillboardAwardConfig),
typeof(ActHeroAppearArtConfig),
diff --git a/Main/Config/Configs/HeroSkinConfig.cs b/Main/Config/Configs/HeroSkinConfig.cs
index 0deff42..8948622 100644
--- a/Main/Config/Configs/HeroSkinConfig.cs
+++ b/Main/Config/Configs/HeroSkinConfig.cs
@@ -1,6 +1,6 @@
锘�//--------------------------------------------------------
// [Author]: YYL
-// [ Date ]: 2026骞�3鏈�13鏃�
+// [ Date ]: Tuesday, May 19, 2026
//--------------------------------------------------------
using System.Collections.Generic;
@@ -22,6 +22,7 @@
public int AudioID;
public string Tachie;
public float[] TachieParam;
+ public int[] IsTachieFlip;
public string SquareIcon;
public string RectangleIcon;
public string CardPic;
@@ -65,21 +66,35 @@
}
}
- SquareIcon = tables[6];
+ if (tables[6].Contains("["))
+ {
+ IsTachieFlip = JsonMapper.ToObject<int[]>(tables[6]);
+ }
+ else
+ {
+ string[] IsTachieFlipStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+ IsTachieFlip = new int[IsTachieFlipStringArray.Length];
+ for (int i=0;i<IsTachieFlipStringArray.Length;i++)
+ {
+ int.TryParse(IsTachieFlipStringArray[i],out IsTachieFlip[i]);
+ }
+ }
- RectangleIcon = tables[7];
+ SquareIcon = tables[7];
- CardPic = tables[8];
+ RectangleIcon = tables[8];
- SpineRes = tables[9];
+ CardPic = tables[9];
- InitialSkinName = tables[10];
+ SpineRes = tables[10];
- ApearMotionName = tables[11];
+ InitialSkinName = tables[11];
- TransfMotionName = tables[12];
+ ApearMotionName = tables[12];
- LoopMotionName = tables[13];
+ TransfMotionName = tables[13];
+
+ LoopMotionName = tables[14];
}
catch (Exception exception)
{
diff --git a/Main/System/Hero/UIHeroController.cs b/Main/System/Hero/UIHeroController.cs
index 5db01b9..d3f187c 100644
--- a/Main/System/Hero/UIHeroController.cs
+++ b/Main/System/Hero/UIHeroController.cs
@@ -27,7 +27,9 @@
private static int initializationOrder = 0; // 鐢ㄤ簬鍒嗗抚寤惰繜鐨勫簭鍙�
public Action onComplete;
- public void Create(int _skinID, float scale = 0.8f, Action _onComplete = null, string motionName = "idle", bool isLh = false)
+
+ public void Create(int _skinID, float scale = 0.8f, Action _onComplete = null, string motionName = "idle", bool isLh = false,
+ bool isTachieFlip = false, int tachieFlipIndex = 0)
{
if (skinID == _skinID)
{
@@ -67,7 +69,15 @@
{
this.transform.localPosition = new Vector3(skinConfig.TachieParam[0], skinConfig.TachieParam[1], 0);
this.transform.localScale = Vector3.one * skinConfig.TachieParam[2];
- this.transform.localRotation = Quaternion.Euler(0, skinConfig.TachieParam[3] == 0 ? 0 : 180, 0);
+ if (isTachieFlip && skinConfig?.IsTachieFlip?.Length > tachieFlipIndex)
+ {
+ this.transform.localRotation = Quaternion.Euler(0, skinConfig.IsTachieFlip[tachieFlipIndex] == 0 ? 0 : 180, 0);
+ }
+ else
+ {
+ this.transform.localRotation = Quaternion.Euler(0, skinConfig.TachieParam[3] == 0 ? 0 : 180, 0);
+ }
+
}
else
{
diff --git a/Main/System/HeroDebut/HeroDebutCallWin.cs b/Main/System/HeroDebut/HeroDebutCallWin.cs
index fc551a0..6c180fc 100644
--- a/Main/System/HeroDebut/HeroDebutCallWin.cs
+++ b/Main/System/HeroDebut/HeroDebutCallWin.cs
@@ -279,7 +279,7 @@
bgImage.SetSprite(StringUtility.Concat("HeroDebutCallBG_", heroID.ToString()));
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 0);
uiHeroController.Create(skinID, modleSize);
uiHeroController.transform.localScale = new Vector3(modleSize, modleSize, modleSize);
diff --git a/Main/System/HeroDebut/HeroDebutCheckInWin.cs b/Main/System/HeroDebut/HeroDebutCheckInWin.cs
index 34fb9e4..2964471 100644
--- a/Main/System/HeroDebut/HeroDebutCheckInWin.cs
+++ b/Main/System/HeroDebut/HeroDebutCheckInWin.cs
@@ -76,7 +76,9 @@
}
}
- rolelhShow.Create(skinID, 1, motionName: "", isLh: true);
+
+ rolelhShow.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 0);
+
OnSecondEvent();
}
}
\ No newline at end of file
diff --git a/Main/System/HeroDebut/HeroDebutPopWin.cs b/Main/System/HeroDebut/HeroDebutPopWin.cs
index 4c86f43..6ef3d0f 100644
--- a/Main/System/HeroDebut/HeroDebutPopWin.cs
+++ b/Main/System/HeroDebut/HeroDebutPopWin.cs
@@ -89,7 +89,7 @@
infoText.text = artConfig.PopInfoText;
infoText.color = manager.ParseColor32(artConfig.PopInfoColor);
- rolelhShow.Create(skinID, 1, motionName: "", isLh: true);
+ rolelhShow.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 0);
OnSecondEvent();
}
diff --git a/Main/System/HeroDebut/HeroDebutSkinWin.cs b/Main/System/HeroDebut/HeroDebutSkinWin.cs
index 12ee7ab..8e3998f 100644
--- a/Main/System/HeroDebut/HeroDebutSkinWin.cs
+++ b/Main/System/HeroDebut/HeroDebutSkinWin.cs
@@ -178,7 +178,8 @@
awardBgImage.SetNativeSize();
uiHeroController.Create(skinID, modelScale);
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 0);
+
countryImage.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
OnSecondEvent();
diff --git a/Main/System/HeroDebut/HeroDebutWin.cs b/Main/System/HeroDebut/HeroDebutWin.cs
index 06fe296..46ca8e6 100644
--- a/Main/System/HeroDebut/HeroDebutWin.cs
+++ b/Main/System/HeroDebut/HeroDebutWin.cs
@@ -93,7 +93,8 @@
uiHeroController.Create(skinID, modleSize);
uiHeroController.transform.localScale = new Vector3(-modleSize, modleSize, modleSize);
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 0);
callRedImage.SetActive(!manager.IsShopVisitedToday || manager.HasGiftCanHave());
diff --git a/Main/System/HeroReturn/HeroReturnCallWin.cs b/Main/System/HeroReturn/HeroReturnCallWin.cs
index 4be450f..5b5eff0 100644
--- a/Main/System/HeroReturn/HeroReturnCallWin.cs
+++ b/Main/System/HeroReturn/HeroReturnCallWin.cs
@@ -291,8 +291,9 @@
bgImage.SetSprite(StringUtility.Concat("HeroReturnCallBG_", heroID.ToString()));
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 1);
uiHeroController.Create(skinID, modleSize);
+
uiHeroController.transform.localScale = new Vector3(modleSize, modleSize, modleSize);
ownItemCell.itemID = treasureSetConfig.CostItemID;
diff --git a/Main/System/HeroReturn/HeroReturnCheckInWin.cs b/Main/System/HeroReturn/HeroReturnCheckInWin.cs
index a446e04..39c165b 100644
--- a/Main/System/HeroReturn/HeroReturnCheckInWin.cs
+++ b/Main/System/HeroReturn/HeroReturnCheckInWin.cs
@@ -74,7 +74,8 @@
}
}
- rolelhShow.Create(skinID, 1, motionName: "", isLh: true);
+ rolelhShow.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 1);
+
OnSecondEvent();
}
}
\ No newline at end of file
diff --git a/Main/System/HeroReturn/HeroReturnPopWin.cs b/Main/System/HeroReturn/HeroReturnPopWin.cs
index 95bb254..fa30b0e 100644
--- a/Main/System/HeroReturn/HeroReturnPopWin.cs
+++ b/Main/System/HeroReturn/HeroReturnPopWin.cs
@@ -89,7 +89,8 @@
infoText.text = artConfig.PopInfoText;
infoText.color = manager.ParseColor32(artConfig.PopInfoColor);
- rolelhShow.Create(skinID, 1, motionName: "", isLh: true);
+ rolelhShow.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 1);
+
OnSecondEvent();
}
diff --git a/Main/System/HeroReturn/HeroReturnSkinWin.cs b/Main/System/HeroReturn/HeroReturnSkinWin.cs
index aef3ab3..1173406 100644
--- a/Main/System/HeroReturn/HeroReturnSkinWin.cs
+++ b/Main/System/HeroReturn/HeroReturnSkinWin.cs
@@ -178,7 +178,8 @@
awardBgImage.SetNativeSize();
uiHeroController.Create(skinID, modelScale);
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 1);
+
countryImage.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
OnSecondEvent();
diff --git a/Main/System/HeroReturn/HeroReturnWin.cs b/Main/System/HeroReturn/HeroReturnWin.cs
index d05a679..97e1e85 100644
--- a/Main/System/HeroReturn/HeroReturnWin.cs
+++ b/Main/System/HeroReturn/HeroReturnWin.cs
@@ -224,7 +224,8 @@
uiHeroController.Create(chosenHeroSkinID, modleSize);
uiHeroController.transform.localScale = new Vector3(-modleSize, modleSize, modleSize);
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 1);
// 鏇存柊鑳屾櫙
bgImage.SetSprite(StringUtility.Concat("HeroReturnMainBG_", heroID.ToString()));
diff --git a/Main/System/HeroSkinFlashSale/HeroSkinFlashSaleWin.cs b/Main/System/HeroSkinFlashSale/HeroSkinFlashSaleWin.cs
index 60f5f72..93f3c19 100644
--- a/Main/System/HeroSkinFlashSale/HeroSkinFlashSaleWin.cs
+++ b/Main/System/HeroSkinFlashSale/HeroSkinFlashSaleWin.cs
@@ -176,7 +176,8 @@
awardBgImage.SetNativeSize();
uiHeroController.Create(skinID, modelScale);
- lhController.Create(skinID, 1, motionName: "", isLh: true);
+ lhController.Create(skinID, 1, motionName: "", isLh: true, isTachieFlip: true, tachieFlipIndex: 2);
+
countryImage.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country));
OnSecondEvent();
--
Gitblit v1.8.0