From 2d3a60767d0cd69c8dec97e39937bcd0c667be1c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 12 十一月 2025 18:54:57 +0800
Subject: [PATCH] 125 战斗 血条&护盾1护盾2表现
---
Main/System/Main/MainWin.cs | 51 ++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/Main/System/Main/MainWin.cs b/Main/System/Main/MainWin.cs
index e7e2e78..0828ab3 100644
--- a/Main/System/Main/MainWin.cs
+++ b/Main/System/Main/MainWin.cs
@@ -29,7 +29,7 @@
[SerializeField] FillTween cdTween;
[SerializeField] Text hammerText;
- bool isFirstOpen = true; //棣栨鎵撳紑
+ bool isForcePlayFightUIAnim = true; //寮哄埗鎾斁鎴樻枟閿ゅ瓙妗嗗姩鐢�
public static event Action TabChangeEvent;
protected override void InitComponent()
@@ -61,6 +61,7 @@
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
AutoFightModel.Instance.OnFightEvent -= OnSkillCast;
base.OnPreClose();
+ isForcePlayFightUIAnim = true;
}
@@ -73,18 +74,33 @@
//鎴樻枟鎸夐挳鍔ㄧ敾
void ClickAnimation(int index)
{
- if (isFirstOpen || (functionOrder != 0 && index == 0))
+ //寮哄埗鎾斁
+ if (isForcePlayFightUIAnim)
{
openCloseAnim.onComplete = () =>
{
openCloseAnim.SetEnabled(true);
};
+ openCloseAnim.PlayByArrIndex(index == 0 ? 1 : 0);
+
+ isForcePlayFightUIAnim = false;
+ return;
+ }
+
+ //鍒囨崲鏄剧ず
+ if (functionOrder != 0 && index == 0)
+ {
+ //鍒囧洖鎴樻枟鍦烘櫙
+ openCloseAnim.onComplete = () =>
+ {
+ openCloseAnim.SetEnabled(true);
+ };
openCloseAnim.PlayByArrIndex(1);
- isFirstOpen = false;
}
- else if (functionOrder == 0 && index != 0)
+ else if (functionOrder <= 0 && index != 0)
{
+ //鍒囧嚭鎴樻枟鍦烘櫙
openCloseAnim.onComplete = () =>
{
openCloseAnim.SetEnabled(true);
@@ -184,11 +200,11 @@
return;
}
- TabChangeEvent?.Invoke();
ClickAnimation(index);
// 鏇存柊褰撳墠閫変腑鐨勬爣绛剧储寮�
functionOrder = index;
+ TabChangeEvent?.Invoke();
DisplayTopBar();
@@ -311,8 +327,12 @@
cdTween.SetStartState();
cdTween.Play(() =>
{
- AutoFightModel.Instance.fightingHeroSkinID = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid).SkinID;
- fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead");
+ var tmpHero = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid);
+ if (tmpHero != null)
+ {
+ AutoFightModel.Instance.fightingHeroSkinID = tmpHero.SkinID;
+ fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead");
+ }
});
fightHeroScale.SetStartState();
fightHeroScale.Play();
@@ -327,7 +347,16 @@
if (AutoFightModel.Instance.fightingHeroSkinID == 0)
{
- AutoFightModel.Instance.fightingHeroSkinID = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid).SkinID;
+ var tmpHero = TeamManager.Instance.GetTeam(TeamType.Story).GetNextServerHero(AutoFightModel.Instance.heroGuid);
+ if (tmpHero != null)
+ {
+ AutoFightModel.Instance.fightingHeroSkinID = tmpHero.SkinID;
+ }
+ else
+ {
+ Debug.LogError("娌℃湁鎵惧埌涓嬩竴涓敾鍑绘灏�");
+ return;
+ }
}
fightHeroImg.SetOrgSprite(HeroSkinConfig.Get(AutoFightModel.Instance.fightingHeroSkinID).SquareIcon, "HeroHead");
@@ -353,6 +382,7 @@
//澶栭儴璋冪敤鐐瑰嚮鍔熻兘
public void ClickFunc(int functionOrder)
{
+ tabButtons[functionOrder].SelectBtn();
tabButtons[functionOrder].onClick.Invoke();
}
@@ -364,7 +394,7 @@
{
if (lastWinOrder == -1)
{
- lastWinOrder = 0;
+ functionOrder = 0;
}
else
{
@@ -386,6 +416,7 @@
currentSubUI.CloseWindow();
currentSubUI = null;
functionOrder = -1;
+ isForcePlayFightUIAnim = true;
DisplayTopBar();
}
}
@@ -393,6 +424,8 @@
// 澶栭儴鎭㈠瀛愮晫闈�
public void RestoreSubUI()
{
+ if (functionOrder != -1)
+ return;
if (lastWinOrder == -1)
{
lastWinOrder = 0;
--
Gitblit v1.8.0