Помощи в написании скрипта Unity
Я делаю игру в стиле Five Nights at Freddy's. У меня есть вот такой код:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class FreddyController : MonoBehaviour
{
UnityEngine.AI.NavMeshAgent agent;
Animator animator;
public Transform checkpoint;
public Transform player;
bool imAttack = false;
void Start() {
player = GameObject.FindGameObjectWithTag("Player").transform;
agent = GetComponent<UnityEngine.AI.NavMeshAgent>();
animator = GetComponent<Animator>();
agent.speed = 2f;
animator.SetFloat("speed", 1.5f);
Invoke("move", 200f);
}
void move()
{
CheckPoint point = checkpoint.GetComponent<CheckPoint>();
if (point is ControlPoint)
{
RaycastHit hit;
if(Physics.Raycast(transform.position + transform.up, player.position - (transform.position + transform.up), out hit))
{
if(hit.collider.tag == "Player")
{
agent.destination = hit.collider.transform.position;
imAttack = true;
}
}
}
else
{
checkpoint = point.getNext();
agent.destination = checkpoint.position;
Invoke("move", 50f);
}
}
void Update()
{
Debug.DrawRay(transform.position + transform.up, player.position - (transform.position + transform.up));
if(!imAttack && Vector3.Distance(transform.position, player.position) < 1f)
{
player.gameObject.SendMessage("attack");
}
if (agent.velocity.magnitude > 1) animator.SetBool("walk", true);
else animator.SetBool("walk", false);
}
}
Противник ходит по определённым точкам и когда доходит до последней, стоит и через некоторое время нападает (просто идёт в направлении игрока). Когда враг соприкасается с игроком загружается сцена со скримером. И, собственно, что мне нужно. Как защитится от врага? Предположим, для каких-то врагов нужно спрятаться под стол, а для каких-то светить фонарём в лицо.
Стоит учитывать, что в этой теме (написание кода) я - новичок.