Есть ли хороший способ сделать это, я скопировал код ниже. Это мой код, так что gameObjects патрулирует вокруг определенной области карты, мне нужен способ, чтобы при появлении врагов было установлено преобразование относительно gameObject, в котором появлялся враг.
Когда я вызываю своего врага из префаба, враг должен патрулировать вокруг точки появления, которая его породила, однако в игре есть несколько точек, в которых появляются враги. Скрипт Patrol имеет преобразование public Transform moveSpots;
, которое я назначаю объекты точки возрождения.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Patrol0 : MonoBehaviour
{
public float speed;
public Transform moveSpots;
private float waitTime;
public float StartwaitTime;
public float MinX;
public float MaxX;
public float MinY;
public float MaxY;
void start()
{
moveSpots = GetComponentInParent<Transform>();
waitTime = StartwaitTime;
moveSpots.position = new Vector2(Random.Range(MinX, MaxX), Random.Range(MinY, MaxX));
}
private void Update()
{
transform.position = Vector2.MoveTowards(transform.position, moveSpots.position, speed * Time.deltaTime);
if (Vector2.Distance(transform.position, moveSpots.position) < 0.2f)
{
if (waitTime <= 0)
{
moveSpots.position = new Vector2(Random.Range(MinX, MaxX), Random.Range(MinY, MaxX));
waitTime = StartwaitTime;
}
else
{
waitTime -= Time.deltaTime;
}
}
}
}