using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEditor; using UnityEditor.Callbacks; using UnityEngine; using UnityEngine.Timeline; public class BasicEnemy : MonoBehaviour { [Header("References")] public Transform parentTransform; public Player playerData; public BasicEnemyStateController sc; [Header("Settings")] public float distance; public float moveSpeed; [Header("Internal")] public Vector2 targetPosition; public Vector2 currentTargetVector; public int randomNumber; public Vector2 currentVelocity; void Awake() { currentTargetVector = new Vector2(Random.Range(0,2)*2-1, Random.Range(0,2)*2-1); } void Start() { } void Update() { if(Input.GetKeyDown(KeyCode.Q)) { RandomNeighborVector(); CalculateTargetPosition(); } MoveToPosition(); } void CalculateTargetPosition() { targetPosition = playerData.playerPosition + currentTargetVector * distance; } void RandomNeighborVector() { if(Random.Range(0,2) == 0) { currentTargetVector.x = currentTargetVector.x - (currentTargetVector.x * 2); } else { currentTargetVector.y = currentTargetVector.y - (currentTargetVector.y * 2); } } void MoveToPosition() { parentTransform.position = Vector2.SmoothDamp(transform.position, targetPosition, ref currentVelocity, moveSpeed * Time.deltaTime); } }