WeaponEnemy.cs 901 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class WeaponEnemy : MonoBehaviour
  5. {
  6. public float powerSuckDelay = 1;
  7. private IEnumerator drainCoroutine;
  8. void OnCollisionEnter(Collision collision)
  9. {
  10. if (collision.collider.tag == "Player")
  11. {
  12. drainCoroutine = DrainPower(collision.collider.GetComponent<Player>());
  13. StartCoroutine(drainCoroutine);
  14. }
  15. }
  16. void OnCollisionExit(Collision collision)
  17. {
  18. if (collision.collider.tag == "Player")
  19. {
  20. if (drainCoroutine != null)
  21. StopCoroutine(drainCoroutine);
  22. }
  23. }
  24. private IEnumerator DrainPower(Player player)
  25. {
  26. while (true)
  27. {
  28. yield return new WaitForSeconds(powerSuckDelay);
  29. player.PowerLevel -= 2.5f;
  30. }
  31. }
  32. }