AutoDisableEffect.cs 716 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using UnityEngine;
  3. public class AutoDisableEffect : MonoBehaviour
  4. {
  5. private void Update()
  6. {
  7. if (Math.Abs(this.delayTime) < 1.401298E-45f)
  8. {
  9. return;
  10. }
  11. if (this._timeFromEnable > this.delayTime)
  12. {
  13. this.Disable(base.transform);
  14. }
  15. else
  16. {
  17. this._timeFromEnable += Time.deltaTime;
  18. }
  19. }
  20. public void Disable(Transform transf)
  21. {
  22. this._timeFromEnable = 0f;
  23. transf.gameObject.SetActive(false);
  24. transf.parent = R.Effect.transform;
  25. transf.position = Vector3.zero;
  26. transf.rotation = Quaternion.Euler(Vector3.zero);
  27. transf.localScale = Vector3.one;
  28. }
  29. [SerializeField]
  30. private float delayTime = 2f;
  31. private float _timeFromEnable;
  32. }