Как правильно использовать функцию 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);
        }   
    }
}

Ответы (0 шт):