1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class EnemyAttack : MonoBehaviour //скрипт для атаки врага
- {
- public int AttackDelay; //задержка между атаками
- private bool boolDelay; //переменная для задержки
- private void OnTriggerEnter2D(Collider2D collision)
- {
- if(collision.gameObject.tag == "Player") //при попадании в триггер игрока запускается рекурсия
- {
- boolDelay = true;
- StartCoroutine(Delay());
- }
- }
- private void OnTriggerExit2D(Collider2D collision) //при выходе выключается
- {
- boolDelay = false;
- }
- public void Attack() //функция наносящая урон игроку
- {
- Debug.Log("-damage");
- }
- IEnumerator Delay() //рекурсия для переодического получения урона персонажем
- {
- if(boolDelay == true)
- {
- yield return new WaitForSeconds(AttackDelay);
- Attack();
- yield return StartCoroutine(Delay());
- }
- else if (boolDelay == false)
- {
- yield return null;
- }
- }
- }
|