From c09dae7783ab4c0eb512e2d4fd72888abc17e348 Mon Sep 17 00:00:00 2001 From: SoulliesOfficial Date: Thu, 13 Nov 2025 10:42:05 -0500 Subject: [PATCH] =?UTF-8?q?=E5=BD=BB=E5=BA=95=E4=BF=AE=E5=A5=BD=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ProjectSettings.meta | 8 ------- .../UIParticleProjectSettings.asset | 16 -------------- .../UIParticleProjectSettings.asset.meta | 8 ------- Assets/Scenes/GameScene.unity | 21 ++++++++++--------- Assets/Scripts/MainGame/Card/CardInstance.cs | 7 +++++++ .../HandCardView/HandCardView_Operations.cs | 16 +++++++------- .../MainGame/Combat/CombatMainManager.cs | 1 + .../MainGame/UI/CombatMainPage/HandPile.cs | 5 +++-- .../UI/CombatMainPage/TeamSwitchButton.cs | 10 +++++++++ Assets/Scripts/MainGame/UI/CombatUIManager.cs | 6 ++++++ .../HUDElements/Icon/HUD_CharacterBuffIcon.cs | 2 +- .../CommandQueue/CommandQueueManager.cs | 2 +- 12 files changed, 48 insertions(+), 54 deletions(-) delete mode 100644 Assets/ProjectSettings.meta delete mode 100644 Assets/ProjectSettings/UIParticleProjectSettings.asset delete mode 100644 Assets/ProjectSettings/UIParticleProjectSettings.asset.meta diff --git a/Assets/ProjectSettings.meta b/Assets/ProjectSettings.meta deleted file mode 100644 index 8a946445..00000000 --- a/Assets/ProjectSettings.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4c01a007da818c449aadaaadadade3f5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ProjectSettings/UIParticleProjectSettings.asset b/Assets/ProjectSettings/UIParticleProjectSettings.asset deleted file mode 100644 index 1bcbf945..00000000 --- a/Assets/ProjectSettings/UIParticleProjectSettings.asset +++ /dev/null @@ -1,16 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &11400000 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f22a23b9d98e440478697f4adf30e61c, type: 3} - m_Name: UIParticleProjectSettings - m_EditorClassIdentifier: - m_EnableLinearToGamma: 1 - m_HideGeneratedObjects: 1 diff --git a/Assets/ProjectSettings/UIParticleProjectSettings.asset.meta b/Assets/ProjectSettings/UIParticleProjectSettings.asset.meta deleted file mode 100644 index a961e156..00000000 --- a/Assets/ProjectSettings/UIParticleProjectSettings.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 09bfbde9d4ad0104bbf52c189f752401 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 25407d6f..1bafe4b1 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -1394,8 +1394,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 700, y: 60} - m_SizeDelta: {x: 160, y: 120} + m_AnchoredPosition: {x: 750, y: 30} + m_SizeDelta: {x: 100, y: 150} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &368630473 MonoBehaviour: @@ -1417,7 +1417,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 3b3b06d10c4f32b40842e34efe4665ec, type: 3} + m_Sprite: {fileID: 21300000, guid: e47f953bc9832094182f2b452d77dade, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -1494,6 +1494,7 @@ MonoBehaviour: isTeam: 0 button: {fileID: 368630475} buttonText: {fileID: 1783939752} + teamPileText: {fileID: 833598973} --- !u!1 &373312357 GameObject: m_ObjectHideFlags: 0 @@ -3523,7 +3524,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -40} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 160, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &833598973 @@ -3546,7 +3547,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: 0/10 + m_text: 10/10 m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: ac4df5038ff71a34a993c7c9fa7316fd, type: 2} m_sharedMaterial: {fileID: 2100000, guid: 6f13eb00de36de84da30a9a284324eeb, type: 2} @@ -3573,8 +3574,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 32 - m_fontSizeBase: 32 + m_fontSize: 24 + m_fontSizeBase: 24 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -7140,7 +7141,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -5} + m_AnchoredPosition: {x: 0, y: 40} m_SizeDelta: {x: 160, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1783939752 @@ -7190,8 +7191,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 32 - m_fontSizeBase: 32 + m_fontSize: 28 + m_fontSizeBase: 28 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 diff --git a/Assets/Scripts/MainGame/Card/CardInstance.cs b/Assets/Scripts/MainGame/Card/CardInstance.cs index 8cea13e8..6feb4108 100644 --- a/Assets/Scripts/MainGame/Card/CardInstance.cs +++ b/Assets/Scripts/MainGame/Card/CardInstance.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Continentis.MainGame.Character; +using Continentis.MainGame.Combat; using Continentis.MainGame.UI; using Lean.Pool; using UnityEngine; @@ -75,6 +76,12 @@ namespace Continentis.MainGame.Card { CardInstance cardInstance = new CardInstance(CardLogicBase.GenerateCardLogic(data), owner, pileName, index); cardInstance.cardLogic.Initialize(); + + if (owner == CombatMainManager.Instance.characterController.playerTeam) + { + CombatUIManager.Instance.combatMainPage.teamSwitchButton.UpdateTeamPileText(CombatMainManager.Instance.characterController.playerTeam); + } + return cardInstance; } diff --git a/Assets/Scripts/MainGame/Card/CardView/HandCardView/HandCardView_Operations.cs b/Assets/Scripts/MainGame/Card/CardView/HandCardView/HandCardView_Operations.cs index 033d71a6..59217267 100644 --- a/Assets/Scripts/MainGame/Card/CardView/HandCardView/HandCardView_Operations.cs +++ b/Assets/Scripts/MainGame/Card/CardView/HandCardView/HandCardView_Operations.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using Continentis.MainGame.Character; using Continentis.MainGame.Combat; using Continentis.MainGame.UI; @@ -246,23 +247,22 @@ namespace Continentis.MainGame.Card return; } - if (!validTargets.Contains(hoveringCharacter)) - { - // 当前鼠标悬停的目标不在有效目标列表中 - return; - } if (!cardLogic.HasKeyword("TargetSelf")) { - + if (!validTargets.Contains(hoveringCharacter)) + { + // 当前鼠标悬停的目标不在有效目标列表中 + return; + } } // 根据目标类型,打出卡牌 if (cardLogic.attributeSubmodule.targetCount == 1) { - if (hoveringCharacter != null) + if (hoveringCharacter != null && validTargets.Contains(hoveringCharacter)) { - if (!cardLogic.Play(new List() { CombatUIManager.Instance.hoveringCharacterView.character })) + if (!cardLogic.Play(new List() { hoveringCharacter })) { cardLogic.eventSubmodule.onUntargeting(); cardLogic.contentSubmodule.dirtyMark = true; diff --git a/Assets/Scripts/MainGame/Combat/CombatMainManager.cs b/Assets/Scripts/MainGame/Combat/CombatMainManager.cs index 626d9a86..b753eb7d 100644 --- a/Assets/Scripts/MainGame/Combat/CombatMainManager.cs +++ b/Assets/Scripts/MainGame/Combat/CombatMainManager.cs @@ -45,6 +45,7 @@ namespace Continentis.MainGame.Combat { characterController.Initialize(MainGameManager.Instance.playerHeroDataList, MainGameManager.Instance.enemyDataList); StartCombat(); + CombatUIManager.Instance.UpdateAll(); } } diff --git a/Assets/Scripts/MainGame/UI/CombatMainPage/HandPile.cs b/Assets/Scripts/MainGame/UI/CombatMainPage/HandPile.cs index 39db30bc..3979555c 100644 --- a/Assets/Scripts/MainGame/UI/CombatMainPage/HandPile.cs +++ b/Assets/Scripts/MainGame/UI/CombatMainPage/HandPile.cs @@ -9,7 +9,8 @@ namespace Continentis.MainGame.UI public bool isUpdatingLayout = true; // 是否启用自动布局更新 public float arcAngle = 15; // 手牌的总弧度 - //public float cardSpacing = 150f; // 手牌间距 + public float cardSpacingBase = 100f; // 手牌间距 + public float cardSpacingFactor = 500f; // 手牌间距调整因子 public float maxVerticalOffset = 50f; // 控制最外侧卡牌的垂直偏移 private void Update() @@ -25,7 +26,7 @@ namespace Continentis.MainGame.UI if (count == 0 || index < 0) return Vector2.zero; - float cardSpacing = 100f + 500f / count; + float cardSpacing = cardSpacingBase + cardSpacingFactor / count; // 计算中间索引,保证手牌居中排列 float midIndex = (count - 1) / 2f; diff --git a/Assets/Scripts/MainGame/UI/CombatMainPage/TeamSwitchButton.cs b/Assets/Scripts/MainGame/UI/CombatMainPage/TeamSwitchButton.cs index de585c86..98438216 100644 --- a/Assets/Scripts/MainGame/UI/CombatMainPage/TeamSwitchButton.cs +++ b/Assets/Scripts/MainGame/UI/CombatMainPage/TeamSwitchButton.cs @@ -14,6 +14,7 @@ namespace Continentis.MainGame.UI public bool isTeam; public Button button; public TMP_Text buttonText; + public TMP_Text teamPileText; private void Awake() { isTeam = false; @@ -25,11 +26,13 @@ namespace Continentis.MainGame.UI { SwitchToTeam(); buttonText.text = "Team"; + teamPileText.gameObject.SetActive(true); } else { SwitchToCurrentCharacter(); buttonText.text = "Hero"; + teamPileText.gameObject.SetActive(false); } }); } @@ -74,5 +77,12 @@ namespace Continentis.MainGame.UI throw new Exception("当前角色不是玩家角色,无法显示卡牌。"); } } + + public void UpdateTeamPileText(CombatTeam team) + { + int currentCardCount = team.deckSubmodule.HandPile.Count; + teamPileText.text = $"{currentCardCount}/10"; + Debug.Log($"Updated team pile text: {teamPileText.text}"); + } } } \ No newline at end of file diff --git a/Assets/Scripts/MainGame/UI/CombatUIManager.cs b/Assets/Scripts/MainGame/UI/CombatUIManager.cs index 30c149ca..aa1bd2be 100644 --- a/Assets/Scripts/MainGame/UI/CombatUIManager.cs +++ b/Assets/Scripts/MainGame/UI/CombatUIManager.cs @@ -1,5 +1,6 @@ using Continentis.MainGame.Card; using Continentis.MainGame.Character; +using Continentis.MainGame.Combat; using Continentis.MainGame.UI; using UnityEngine; using UnityEngine.InputSystem; @@ -37,6 +38,11 @@ namespace Continentis.MainGame { return uiPageList.Count == 1 && uiPageList.Contains(combatMainPage); } + + public void UpdateAll() + { + combatMainPage.teamSwitchButton.UpdateTeamPileText(CombatMainManager.Instance.characterController.playerTeam); + } } public partial class CombatUIManager diff --git a/Assets/Scripts/MainGame/UI/HUDPage/HUDElements/Icon/HUD_CharacterBuffIcon.cs b/Assets/Scripts/MainGame/UI/HUDPage/HUDElements/Icon/HUD_CharacterBuffIcon.cs index 48b70534..7a6e066e 100644 --- a/Assets/Scripts/MainGame/UI/HUDPage/HUDElements/Icon/HUD_CharacterBuffIcon.cs +++ b/Assets/Scripts/MainGame/UI/HUDPage/HUDElements/Icon/HUD_CharacterBuffIcon.cs @@ -65,7 +65,7 @@ namespace Continentis.MainGame.UI { string paramKey = synchronizedParameters[index]; Func func = buff.contentSubmodule.parameterGetters[paramKey]; - Debug.Log($"Updating buff icon text for parameter {paramKey} with func is {func != null}"); + //Debug.Log($"Updating buff icon text for parameter {paramKey} with func is {func != null}"); SetText(index, func); } diff --git a/Assets/Scripts/ScriptExtensions/CommandQueue/CommandQueueManager.cs b/Assets/Scripts/ScriptExtensions/CommandQueue/CommandQueueManager.cs index e5a450c3..51f7e571 100644 --- a/Assets/Scripts/ScriptExtensions/CommandQueue/CommandQueueManager.cs +++ b/Assets/Scripts/ScriptExtensions/CommandQueue/CommandQueueManager.cs @@ -120,7 +120,7 @@ namespace SLSFramework.General isBusy = true; Tuple nextEntry = commandQueue.First.Value; commandQueue.RemoveFirst(); - Debug.Log($"[Queue] 开始执行指令: {nextEntry.Item1.GetType()},队列剩余长度: {commandQueue.Count}"); + //Debug.Log($"[Queue] 开始执行指令: {nextEntry.Item1.GetType()},队列剩余长度: {commandQueue.Count}"); var commandToExecute = nextEntry.Item1; var context = nextEntry.Item2;