diff --git a/Assets/Resources/Config/GameConfig.asset b/Assets/Resources/Config/GameConfig.asset index 49a98a0d..aeb19f3e 100644 --- a/Assets/Resources/Config/GameConfig.asset +++ b/Assets/Resources/Config/GameConfig.asset @@ -12,10 +12,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 841ad42020e5c4c46be013e4341027d5, type: 3} m_Name: GameConfig m_EditorClassIdentifier: - IsDebug: 1 + IsDebug: 0 IsAutoLevel: 0 UseDiamond: 0 JumpText: 0 + IsSimpleAni: 1 PlayerNear: Monster PlayerFar: Human EnemyNear: Monster diff --git a/Assets/Scripts/Config/GameConfig.cs b/Assets/Scripts/Config/GameConfig.cs index 83caf5dd..af1e0b3c 100644 --- a/Assets/Scripts/Config/GameConfig.cs +++ b/Assets/Scripts/Config/GameConfig.cs @@ -12,6 +12,7 @@ public class GameConfig : ConfigBase public bool IsAutoLevel; public bool UseDiamond; public bool JumpText = true; + public bool IsSimpleAni = true; public string PlayerNear = "Monster"; public string PlayerFar = "Human"; diff --git a/Assets/Scripts/Game/BlockManager.cs b/Assets/Scripts/Game/BlockManager.cs index fd92f6be..39b81c4a 100644 --- a/Assets/Scripts/Game/BlockManager.cs +++ b/Assets/Scripts/Game/BlockManager.cs @@ -521,9 +521,10 @@ public class BlockManager : MonoBehaviour PetManager.Instance.Happy(); } -#if !MERGE_SIMPLE_ANI - pUnit.SetTrigger(SoldierACTrigger.TriggerHappy); -#endif + if (!GameConfig.Instance.IsSimpleAni) + { + pUnit.SetTrigger(SoldierACTrigger.TriggerHappy); + } pUnit.transform.localScale = Vector3.zero; pUnit.transform.DOScale(1, 0.5f).SetEase(Ease.OutBounce); diff --git a/Assets/Scripts/Game/BlockSlot.cs b/Assets/Scripts/Game/BlockSlot.cs index e3222170..6b283320 100644 --- a/Assets/Scripts/Game/BlockSlot.cs +++ b/Assets/Scripts/Game/BlockSlot.cs @@ -79,12 +79,14 @@ public class BlockSlot : MonoBehaviour private void OnMouseDown() { -#if !MERGE_SIMPLE_ANI - if (mUnit != null) + if (!GameConfig.Instance.IsSimpleAni) { - mUnit.SetTrigger(SoldierACTrigger.TriggerPickUp); + if (mUnit != null) + { + mUnit.SetTrigger(SoldierACTrigger.TriggerPickUp); + } } -#endif + mDelPickUp?.Invoke(mIndex); } @@ -95,12 +97,14 @@ public class BlockSlot : MonoBehaviour private void OnMouseUp() { -#if !MERGE_SIMPLE_ANI - if (mUnit != null) + if (!GameConfig.Instance.IsSimpleAni) { - mUnit.SetTrigger(SoldierACTrigger.TriggerPutDown); + if (mUnit != null) + { + mUnit.SetTrigger(SoldierACTrigger.TriggerPutDown); + } } -#endif + mDelDrowDown?.Invoke(mIndex); } } diff --git a/Assets/Scripts/Game/Wars/Soldiers/AvatarGroup.cs b/Assets/Scripts/Game/Wars/Soldiers/AvatarGroup.cs index 59ddcbc0..dc87c012 100644 --- a/Assets/Scripts/Game/Wars/Soldiers/AvatarGroup.cs +++ b/Assets/Scripts/Game/Wars/Soldiers/AvatarGroup.cs @@ -7,10 +7,17 @@ public class AvatarGroup : MonoBehaviour { private Animator[] mAnimators; + List mExcludeResetACs = new List(); + private void Awake() { //mAnimators = GetComponentsInChildren(); mAnimators = new Animator[1] { GetComponentInChildren()}; + + if (GameConfig.Instance.IsSimpleAni) + { + mExcludeResetACs = new List() { "TriggerPickUp", "TriggerPutDown", "TriggerHappy", "TriggerAttack2", "TriggerAttack3" }; + } } public void SetACTrigger(SoldierACTrigger pTrigger, float pSpeed = 1) @@ -20,7 +27,10 @@ public class AvatarGroup : MonoBehaviour { for (int i = 0; i < mAnimators.Length; i++) { - mAnimators[i].ResetTrigger(tTriggerName); + if (!mExcludeResetACs.Contains(tTriggerName)) + { + mAnimators[i].ResetTrigger(tTriggerName); + } } } @@ -34,23 +44,14 @@ public class AvatarGroup : MonoBehaviour public enum SoldierACTrigger { -#if !MERGE_SIMPLE_ANI TriggerIdle, + TriggerRun, + TriggerHappy, TriggerPickUp, TriggerPutDown, - TriggerHappy, - TriggerRun, TriggerAttack, TriggerAttack2, TriggerAttack3, TriggerWin, TriggerDie -#else - TriggerIdle, - TriggerRun, - TriggerAttack, - TriggerWin, - TriggerDie -#endif - } \ No newline at end of file diff --git a/Assets/Scripts/Game/Wars/Soldiers/SoldierStates/SoldierStateAttack.cs b/Assets/Scripts/Game/Wars/Soldiers/SoldierStates/SoldierStateAttack.cs index dd090a09..e9d77358 100644 --- a/Assets/Scripts/Game/Wars/Soldiers/SoldierStates/SoldierStateAttack.cs +++ b/Assets/Scripts/Game/Wars/Soldiers/SoldierStates/SoldierStateAttack.cs @@ -51,21 +51,24 @@ public class SoldierStateAttack : BaseState mMaster.LookToTarget(mMaster.AttackTarget[0].RelativePos(mMaster.RelativePos())); SoldierACTrigger tAtkTrigger = SoldierACTrigger.TriggerAttack; -#if !MERGE_SIMPLE_ANI - int tRandomNum = UnityEngine.Random.Range(1, 4); - if (tRandomNum == 1) + + if (!GameConfig.Instance.IsSimpleAni) { - tAtkTrigger = SoldierACTrigger.TriggerAttack; + int tRandomNum = UnityEngine.Random.Range(1, 4); + if (tRandomNum == 1) + { + tAtkTrigger = SoldierACTrigger.TriggerAttack; + } + else if (tRandomNum == 2) + { + tAtkTrigger = SoldierACTrigger.TriggerAttack2; + } + else if (tRandomNum == 3) + { + tAtkTrigger = SoldierACTrigger.TriggerAttack3; + } } - else if (tRandomNum == 2) - { - tAtkTrigger = SoldierACTrigger.TriggerAttack2; - } - else if (tRandomNum == 3) - { - tAtkTrigger = SoldierACTrigger.TriggerAttack3; - } -#endif + mMaster.SetACTrigger(tAtkTrigger, Mathf.Max(mAtkAniLength / mMaster.AtkInterval, mAtkAniLength)); mActiveTimer.StartTimer(ActiveOnce, Mathf.Min(mAtkAniLength * 0.6f, mMaster.AtkInterval * 0.6f));