Как правильно использовать функцию SetActive?
Есть враг который может за мной бежать и я бы хотел сделать чтобы при зоне видимости персонажа над врагом вылез вопросительный знак и когда он побежал за мной исчез.
Как это можно реализовать?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Enemy : MonoBehaviour
{
public int health = 10;
Animator anim;
Rigidbody2D rb;
public Transform player;
public float lookarea = 5f, attackrange = 1f;
public int MoveSpeed = 1;
public GameObject question;
public void TakeDamage(int damage)
{
health -= damage;
if(health <= 0)
{
anim.SetInteger("Death", 2);
anim.SetInteger("DeathEnemy", 2);
Die();
}
}
void Die()
{
Destroy(gameObject, 1f);
}
void Start()
{
anim = GetComponent<Animator>();
rb = GetComponent<Rigidbody2D>();
question.SetActive(true);
}
void Update()
{
if(lookarea >= Mathf.Abs(player.transform.localPosition.x - this.transform.localPosition.x))
{
Debug.Log("Yeah i see" + (player.transform.localPosition.x - this.transform.localPosition.x));
transform.position = Vector3.MoveTowards(transform.position, player.position, Time.deltaTime * MoveSpeed);
if(Vector3.Distance(transform.position, player.transform.position) <= attackrange)
{
Debug.Log("Shoot");
GameObject question = GameObject.Find("question");
question.gameObject.SetActive (false);
}
anim.SetBool("IsRunningEnemy", true);
}
else
{
anim.SetBool("IsRunningEnemy", false);
}
}
}
