diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset index 5768e72d..bc27937f 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/PlayerState.asset @@ -16,7 +16,7 @@ MonoBehaviour: maxStepRange: 2 currentStepRange: 2 maxCost: 3 - currentCost: 3 + currentCost: 1 maxShieldValue: 0 currentShieldValue: 0 maxHP: 68 diff --git a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset index d12f9284..e5cedb80 100644 --- a/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset +++ b/ColorlessWorld-2024-4-2/Assets/GameDate/cardDeckList.asset @@ -18,4 +18,4 @@ MonoBehaviour: - 1004 - 1004 - 1004 - - 10041 + - 2001 diff --git a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab index a9a28102..293748f6 100644 --- a/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab +++ b/ColorlessWorld-2024-4-2/Assets/Prefab/CardPrefab/Card_v04-Common.prefab @@ -235,7 +235,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -379,7 +379,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -454,7 +454,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: @@ -598,6 +598,7 @@ MonoBehaviour: type: 3} noSmallCard: 0 noSyncText: 0 + isLookCard: 0 conditionList: - {fileID: 4398690247767463098} - {fileID: 5970626616650445913} @@ -613,6 +614,7 @@ MonoBehaviour: type: 3} cardDataSummary: {fileID: 688789690455570313} animator: {fileID: 5188661188061946492} + borderAnim: {fileID: 4731515924597847675} --- !u!114 &5545682449418996990 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1479,7 +1481,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_Material: {fileID: 0} m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 + m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 1 m_OnCullStateChanged: diff --git a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity index fd1a1063..942ebe1c 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity +++ b/ColorlessWorld-2024-4-2/Assets/Scenes/SampleScene.unity @@ -21239,7 +21239,7 @@ AudioSource: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 992566368} - m_Enabled: 1 + m_Enabled: 0 serializedVersion: 4 OutputAudioMixerGroup: {fileID: 0} m_audioClip: {fileID: 8300000, guid: f44b5427b062799468a1894cf3c8a8bf, type: 3} diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs index cbe47ad4..2f267217 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/CardEntity.cs @@ -75,6 +75,8 @@ public class CardEntity : MonoBehaviour public bool noSmallCard=false; //不同步数值(手动禁止数值同步) public bool noSyncText = false; + [Header("标识是ui卡还是使用卡")] + public bool isLookCard = false; [Header("条件数组")] public GameObject[] conditionList; [Header("生效功能框")] @@ -93,13 +95,21 @@ public class CardEntity : MonoBehaviour public GameObject cardDataSummary; [Header("卡牌销毁动画器")] public Animator animator; - + [Header("卡牌边框画器控件")] + public Animator borderAnim; public Dictionary> cardFunToLose = new Dictionary>(); + private void Start() { + //注册到费用变化接口--移除在变小卡那里 + if ( isLookCard ==false && GameManager.Instance != null) + { + GameManager.Instance.costChange += CheckUse; + } + StartCoroutine(SyncVuleText()); } - + private void Update() { checkAndUpdateCondition(); @@ -124,6 +134,19 @@ public class CardEntity : MonoBehaviour } + //检查是否可以发动,配合发光边框 + public void CheckUse() + { + if(PlayerStatsManager .Instance .playerState .currentCost >= cardOriginalData .Cost ) + { + borderAnim.gameObject.SetActive(true); + } + else + { + borderAnim.gameObject.SetActive(false); + } + } + public void createCard(string cardId, int cardIndex,bool needTrueFun) { Debug.Log("创建ID" + cardId + "needTrueFun是" + needTrueFun); @@ -255,6 +278,11 @@ public class CardEntity : MonoBehaviour } public IEnumerator MoveCardToDestory() { + //移除检查费用变化接口 + if (isLookCard == false && GameManager.Instance != null) + { + GameManager.Instance.costChange -= CheckUse; + } //卡牌音效 AudioManager.Instance.DrawCardVoicePlayer(1); //销毁动画 diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs index 84e803bb..6cb21184 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Card/TurnMaster.cs @@ -371,9 +371,11 @@ public class TurnMaster : Singleton } IEnumerator Discard(List cardIndex) { - for (int j = cardIndex.Count - 1; j > -1; j--) + int count = cardIndex.Count; + // for (int j = cardIndex.Count - 1; j > -1; j--) + for (int j = 0; j effectRangePreviewPool = new List(); @@ -137,5 +139,7 @@ public class Boom : BlockNode } } + + yield return null; } } \ No newline at end of file diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs index 9e0d7632..95f2418f 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/Enemy/Item/BlockNode/TNTBucket.cs @@ -32,7 +32,9 @@ public class TNTBucket : BlockNode } mapUnity.blocked = false; mapUnity.enemyNode = null; - + //结算旋涡 + yield return null; + GameManager.Instance.BroadCastWhirlpoolEffectSycn(); //生成爆炸特效并摧毁此物体 Instantiate(destroyParticle, transform.position, destroyParticle.transform.rotation); yield return null; diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/ForgingPoint/ForgintPointManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/ForgingPoint/ForgintPointManager.cs index 82c81433..8fd184b4 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/ForgingPoint/ForgintPointManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/ForgingPoint/ForgintPointManager.cs @@ -77,6 +77,9 @@ public class ForgintPointManager : Singleton LoadCardId(); GenerateViewCard(); + //自动选择第一张卡 + ChooseViewCard(cardTypeHeaderButton[0].cardId[0]); + GenerateEnmptyMapListForTool(); StartCoroutine(GenerateProcessTest()); } @@ -318,6 +321,7 @@ public class ForgintPointManager : Singleton foreach (var id in PlayerStatsManager.Instance.cardDeck.cardDeckList) { cardTypeHeaderButton[0].cardId.Add(id); + //区分效果卡和涂色卡 /*if (int.Parse(id) > 1999) { cardTypeHeaderButton[1].cardId .Add(id); @@ -589,7 +593,7 @@ public class ForgintPointManager : Singleton mapHasSet .Remove (endNode); colorHasSet .Add (endNode); forgedMapUnityPool .Add (endNode); - ChangeInforText(endNode.locationX, endNode.locationY, "-0", 0); + ChangeInforText(endNode.locationX, endNode.locationY, "-9", 9); } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs index 0641495e..d99fb9ab 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/GameManager.cs @@ -123,7 +123,7 @@ public class GameManager : Singleton { //生成角色数据 if (PlayerStatsManager.Instance.playerState != null) - playerState = Instantiate(PlayerStatsManager.Instance.playerState); + playerState = PlayerStatsManager.Instance.playerState; //生成角色数据 if (ServentStateManager.Instance.servantState != null) servantState = Instantiate(ServentStateManager.Instance.servantState); @@ -232,7 +232,10 @@ public class GameManager : Singleton //同步太阳 if(complete ==true ) SyncColourSunUI(); + + } + public void SyncColourSunUI() { float redNodeCount = MapUnityManager.Instance.redNodeCount; @@ -691,6 +694,9 @@ public class GameManager : Singleton public event Action usedCardEvent; //触发漩涡同步颜色 public event Action whirlpoolEffectSycn; + //费用变化 + public event Action costChange; + public void BroadCastWhirlpoolEffectSycn() { if (whirlpoolEffectSycn != null) @@ -701,5 +707,10 @@ public class GameManager : Singleton if (usedCardEvent != null) usedCardEvent(); } + public void BroadCostChangeSycn() + { + if (costChange != null) + costChange(); + } } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs index c7f0e6c2..23a48452 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/PlayerManager/PlayerStatsManager.cs @@ -150,7 +150,7 @@ public class PlayerStatsManager : Singleton cardPrefab.GetComponent().localEulerAngles = new Vector3(0, 0, 0); CardEntity cardEntity = cardPrefab.GetComponent(); cardEntity.createCard(id, 0, false); - + cardEntity.isLookCard = true; return cardPrefab; } diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs index ea1d3559..1dca0ed3 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/manager/Usermanager.cs @@ -52,7 +52,10 @@ public class Usermanager : Singleton [Header("角色将要造成的伤害")] public float expectDamage; - + //费用和步数检查 + int lastCost;//上一帧的费用 + int lastStep; + PlayerState_SO playerState; public Usermanager(int health) { Health = health; @@ -65,22 +68,37 @@ public class Usermanager : Singleton health = 100; Shield = 0; totalCost = 4; + + playerState = PlayerStatsManager .Instance.playerState; } private void Update() { - /* if(lasteShield != shield ) + /* if(lasteShield != shield ) + { + if (lasteShield < shield) + { + StartCoroutine(AudioManager.Instance.WaitShieldVoicePlayer(1, 0.9f)); + } + else + { + // AudioManager.Instance.ShieldVoicePlayer(-1); + } + lasteShield = shield; + } + */ + + //判断费用和步数是否改变 + CostAndStepCheck(); + } + //判断费用和步数是否改变 + private void CostAndStepCheck() + { + if(playerState .currentCost!= lastCost ||playerState .currentStepRange != lastStep ) { - if (lasteShield < shield) - { - StartCoroutine(AudioManager.Instance.WaitShieldVoicePlayer(1, 0.9f)); - } - else - { - // AudioManager.Instance.ShieldVoicePlayer(-1); - } - lasteShield = shield; + lastCost = playerState.currentCost; + lastStep = playerState.currentStepRange; + GameManager.Instance.BroadCostChangeSycn(); } - */ } //Buff施加 public void SufferPlayerAbnormalCondition(string condition, int value ,Buff buff)