SetActiveByPlayerInCollisionOneTime.cs 516 B

123456789101112131415161718192021
  1. using System;
  2. using UnityEngine;
  3. [RequireComponent(typeof(Collider2D))]
  4. public class SetActiveByPlayerInCollisionOneTime : BaseBehaviour
  5. {
  6. private void OnTriggerEnter2D(Collider2D other)
  7. {
  8. if (other.CompareTag("Player") && R.Enemy.Count == 0 && this.firstTime)
  9. {
  10. this.firstTime = false;
  11. (this.chapt ?? base.gameObject).SetActive(true);
  12. }
  13. }
  14. [Header("需要设置的 GameObject (默认为自身)")]
  15. [SerializeField]
  16. private GameObject chapt;
  17. private bool firstTime = true;
  18. }