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;
    }
}

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