CCCPaste

PlayerControl.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
public float movespeed = 5f;
public Transform movePoint;
public LayerMask whatStopsMovement;

// Start is called before the first frame update
void Start()
{
movePoint.parent = null;
}

// Update is called once per frame
void Update()
{
transform.position = Vector3.MoveTowards(transform.position, movePoint.position, movespeed * Time.deltaTime);
if(Vector3.Distance(transform.position, movePoint.position) <= .05f) {
if(Mathf.Abs(Input.GetAxisRaw("Horizontal")) == 1f) {
if(!Physics2D.OverlapCircle(movePoint.position + new Vector3(Input.GetAxisRaw("Horizontal"), 0f, 0f), 2f, whatStopsMovement)) {
movePoint.position += new Vector3(Input.GetAxisRaw("Horizontal"), 0f, 0f);
}
}

if(Mathf.Abs(Input.GetAxisRaw("Vertical")) == 1f) {
if(!Physics2D.OverlapCircle(movePoint.position + new Vector3(0f, Input.GetAxisRaw("Vertical"), 0f), 2f, whatStopsMovement)) {
movePoint.position += new Vector3(0f, Input.GetAxisRaw("Vertical"), 0f);
}
}
}

}
}