Здраствуйте, у меня проблема: Дело в том, что на моем персонаже есть скрипт Playerattack, и он так выглядит:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Playerattack : MonoBehaviour
{
public float attackTime;
public float startTimeAttack;
public GameObject attack;
private void Start()
{
attack.gameObject.SetActive(false);
}
void Update()
{
if(attackTime <= 0)
{
if(Input.GetKeyDown(KeyCode.E))
{
Debug.Log("start time");
attack.gameObject.SetActive(true);
attackTime = startTimeAttack;
}
}
else if(attackTime > 0)
{
attackTime -= Time.deltaTime;
Debug.Log("stop time");
attack.gameObject.SetActive(false);
}
}
}
Когда значение переменной attackTime меньше или ровно нулю, то при нажатии кнопки E должно писатся сообщение в консоль "start time" и должен включатся объект в переменной attack, в этой переменной находится дочерний объект centre. Скрип в самом оъекте:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AttackScript : MonoBehaviour
{
public void OnTriggerStay2D(Collider2D other)
{
if(other.tag == "enemy")
{
Debug.Log("Damage was dealt!");
}
}
}
То-есть когда он активируется и касается объекта с тэгом "enemy", он должен писать в консоль "Damage was dealt!".
Но дело в том, что при нажатии на E в консоль пишется "start time", но при этом сам объект centre не включается. Но сам обьект centre при косании с объектом с тэгом "enemy" печатает в консоль "Damage was dealt!", то-есть он работает.
Я не понимаю почему оба скрипта по идее работают нормально, но при этом обьект centre не включается