加一个动画版本开关

This commit is contained in:
yangjing 2022-09-09 23:01:44 +08:00
parent 51cbcf60bc
commit 726693c408
6 changed files with 48 additions and 37 deletions

View File

@ -12,10 +12,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 841ad42020e5c4c46be013e4341027d5, type: 3} m_Script: {fileID: 11500000, guid: 841ad42020e5c4c46be013e4341027d5, type: 3}
m_Name: GameConfig m_Name: GameConfig
m_EditorClassIdentifier: m_EditorClassIdentifier:
IsDebug: 1 IsDebug: 0
IsAutoLevel: 0 IsAutoLevel: 0
UseDiamond: 0 UseDiamond: 0
JumpText: 0 JumpText: 0
IsSimpleAni: 1
PlayerNear: Monster PlayerNear: Monster
PlayerFar: Human PlayerFar: Human
EnemyNear: Monster EnemyNear: Monster

View File

@ -12,6 +12,7 @@ public class GameConfig : ConfigBase<GameConfig>
public bool IsAutoLevel; public bool IsAutoLevel;
public bool UseDiamond; public bool UseDiamond;
public bool JumpText = true; public bool JumpText = true;
public bool IsSimpleAni = true;
public string PlayerNear = "Monster"; public string PlayerNear = "Monster";
public string PlayerFar = "Human"; public string PlayerFar = "Human";

View File

@ -521,9 +521,10 @@ public class BlockManager : MonoBehaviour
PetManager.Instance.Happy(); PetManager.Instance.Happy();
} }
#if !MERGE_SIMPLE_ANI if (!GameConfig.Instance.IsSimpleAni)
{
pUnit.SetTrigger(SoldierACTrigger.TriggerHappy); pUnit.SetTrigger(SoldierACTrigger.TriggerHappy);
#endif }
pUnit.transform.localScale = Vector3.zero; pUnit.transform.localScale = Vector3.zero;
pUnit.transform.DOScale(1, 0.5f).SetEase(Ease.OutBounce); pUnit.transform.DOScale(1, 0.5f).SetEase(Ease.OutBounce);

View File

@ -79,12 +79,14 @@ public class BlockSlot : MonoBehaviour
private void OnMouseDown() private void OnMouseDown()
{ {
#if !MERGE_SIMPLE_ANI if (!GameConfig.Instance.IsSimpleAni)
{
if (mUnit != null) if (mUnit != null)
{ {
mUnit.SetTrigger(SoldierACTrigger.TriggerPickUp); mUnit.SetTrigger(SoldierACTrigger.TriggerPickUp);
} }
#endif }
mDelPickUp?.Invoke(mIndex); mDelPickUp?.Invoke(mIndex);
} }
@ -95,12 +97,14 @@ public class BlockSlot : MonoBehaviour
private void OnMouseUp() private void OnMouseUp()
{ {
#if !MERGE_SIMPLE_ANI if (!GameConfig.Instance.IsSimpleAni)
{
if (mUnit != null) if (mUnit != null)
{ {
mUnit.SetTrigger(SoldierACTrigger.TriggerPutDown); mUnit.SetTrigger(SoldierACTrigger.TriggerPutDown);
} }
#endif }
mDelDrowDown?.Invoke(mIndex); mDelDrowDown?.Invoke(mIndex);
} }
} }

View File

@ -7,10 +7,17 @@ public class AvatarGroup : MonoBehaviour
{ {
private Animator[] mAnimators; private Animator[] mAnimators;
List<string> mExcludeResetACs = new List<string>();
private void Awake() private void Awake()
{ {
//mAnimators = GetComponentsInChildren<Animator>(); //mAnimators = GetComponentsInChildren<Animator>();
mAnimators = new Animator[1] { GetComponentInChildren<Animator>()}; mAnimators = new Animator[1] { GetComponentInChildren<Animator>()};
if (GameConfig.Instance.IsSimpleAni)
{
mExcludeResetACs = new List<string>() { "TriggerPickUp", "TriggerPutDown", "TriggerHappy", "TriggerAttack2", "TriggerAttack3" };
}
} }
public void SetACTrigger(SoldierACTrigger pTrigger, float pSpeed = 1) public void SetACTrigger(SoldierACTrigger pTrigger, float pSpeed = 1)
@ -19,10 +26,13 @@ public class AvatarGroup : MonoBehaviour
foreach (string tTriggerName in Enum.GetNames(typeof(SoldierACTrigger))) foreach (string tTriggerName in Enum.GetNames(typeof(SoldierACTrigger)))
{ {
for (int i = 0; i < mAnimators.Length; i++) for (int i = 0; i < mAnimators.Length; i++)
{
if (!mExcludeResetACs.Contains(tTriggerName))
{ {
mAnimators[i].ResetTrigger(tTriggerName); mAnimators[i].ResetTrigger(tTriggerName);
} }
} }
}
for (int i = 0; i < mAnimators.Length; i++) for (int i = 0; i < mAnimators.Length; i++)
{ {
@ -34,23 +44,14 @@ public class AvatarGroup : MonoBehaviour
public enum SoldierACTrigger public enum SoldierACTrigger
{ {
#if !MERGE_SIMPLE_ANI
TriggerIdle, TriggerIdle,
TriggerRun,
TriggerHappy,
TriggerPickUp, TriggerPickUp,
TriggerPutDown, TriggerPutDown,
TriggerHappy,
TriggerRun,
TriggerAttack, TriggerAttack,
TriggerAttack2, TriggerAttack2,
TriggerAttack3, TriggerAttack3,
TriggerWin, TriggerWin,
TriggerDie TriggerDie
#else
TriggerIdle,
TriggerRun,
TriggerAttack,
TriggerWin,
TriggerDie
#endif
} }

View File

@ -51,7 +51,9 @@ public class SoldierStateAttack : BaseState<SoldierUnit>
mMaster.LookToTarget(mMaster.AttackTarget[0].RelativePos(mMaster.RelativePos())); mMaster.LookToTarget(mMaster.AttackTarget[0].RelativePos(mMaster.RelativePos()));
SoldierACTrigger tAtkTrigger = SoldierACTrigger.TriggerAttack; SoldierACTrigger tAtkTrigger = SoldierACTrigger.TriggerAttack;
#if !MERGE_SIMPLE_ANI
if (!GameConfig.Instance.IsSimpleAni)
{
int tRandomNum = UnityEngine.Random.Range(1, 4); int tRandomNum = UnityEngine.Random.Range(1, 4);
if (tRandomNum == 1) if (tRandomNum == 1)
{ {
@ -65,7 +67,8 @@ public class SoldierStateAttack : BaseState<SoldierUnit>
{ {
tAtkTrigger = SoldierACTrigger.TriggerAttack3; tAtkTrigger = SoldierACTrigger.TriggerAttack3;
} }
#endif }
mMaster.SetACTrigger(tAtkTrigger, Mathf.Max(mAtkAniLength / mMaster.AtkInterval, mAtkAniLength)); mMaster.SetACTrigger(tAtkTrigger, Mathf.Max(mAtkAniLength / mMaster.AtkInterval, mAtkAniLength));
mActiveTimer.StartTimer(ActiveOnce, Mathf.Min(mAtkAniLength * 0.6f, mMaster.AtkInterval * 0.6f)); mActiveTimer.StartTimer(ActiveOnce, Mathf.Min(mAtkAniLength * 0.6f, mMaster.AtkInterval * 0.6f));