DigiXrosEffectObject.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System.Collections;
  2. using UnityEngine;
  3. using DG.Tweening;
  4. public class DigiXrosEffectObject : EvolutionEffectObject
  5. {
  6. [SerializeField] GameObject digiXrosAnimParent;
  7. public override IEnumerator EvolutionEffectAnimation(CardSource cardSource, CardSource[] jogressEvoRoots = null, string message = "")
  8. {
  9. if (ContinuousController.instance != null)
  10. {
  11. if (!ContinuousController.instance.showCutInAnimation)
  12. {
  13. yield break;
  14. }
  15. }
  16. animTime = 2f;
  17. yield return ContinuousController.instance.StartCoroutine(base.EvolutionEffectAnimation(cardSource, jogressEvoRoots));
  18. }
  19. public void Shake()
  20. {
  21. StartCoroutine(ShakeIEnumerator());
  22. }
  23. public void PlaySlashSE()
  24. {
  25. ContinuousController.instance.PlaySE(GManager.instance.GetComponent<Effects>().BattleSE);
  26. }
  27. IEnumerator ShakeIEnumerator()
  28. {
  29. bool end = false;
  30. float shakeTime = 0.3f;
  31. Sequence sequence = DOTween.Sequence();
  32. sequence
  33. .Append(digiXrosAnimParent.transform.DOShakePosition(shakeTime, strength: 16f, vibrato: 50, fadeOut: true))
  34. .AppendCallback(() => end = true);
  35. sequence.Play();
  36. yield return new WaitWhile(() => !end);
  37. end = false;
  38. sequence.Kill();
  39. }
  40. }