Unity. 2d платформер. Не работает скрипт движения врага
Сделал простой скрипт, по которому враг должен преследовать игрока при определённой дистанции и его спрайт должен отражаться в соответствии с положением игрока. Однако скрипт почему-то не работает. Враг теперь представляет собой просто статую который можно толкать Почему такое могло произойти? Может ли к этому иметь отношение висящая на враге анимация? Хотя проблема не исчезала и при отключении аниматора.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyWorm : MonoBehaviour
{
GameObject player;
GameObject enemyworm;
const float speedMove = 4.0f;
public float attackDistance = 1.5f;
bool facingLeft = true;
void Start()
{
player = GameObject.FindWithTag("Player");
enemyworm = GameObject.FindWithTag("EnemyWorm");
}
void Update()
{
float direction = player.transform.position.x - transform.position.x;
if (Mathf.Abs(direction) < 8)
{
Vector3 pos = transform.position;
Vector3 playerpos = player.transform.position;
Vector3 wormpos = enemyworm.transform.position;
pos.x += Mathf.Sign(direction) * speedMove * Time.deltaTime;
transform.position = pos;
if (playerpos.x > wormpos.x && facingLeft)
{
Flip();
}
if (playerpos.x < wormpos.x && !facingLeft) {
Flip();
}
}
}
void Flip()
{
facingLeft = !facingLeft;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}