using UnityEngine;

public class MoveInCircle : MonoBehaviour
{
    [SerializeField] private float radius = 2f;  // Radius of the circular movement
    [SerializeField] private float speed = 2f;   // Speed of circling
    [SerializeField] private bool clockwise = true; // Direction toggle
    private float angle = 0f; // Angle for movement

    private Vector3 startLocalPosition;

    void Start()
    {
        startLocalPosition = transform.localPosition; // Store the initial local position
    }

    void Update()
    {
        // Increment angle based on speed and direction
        angle += (clockwise ? -1 : 1) * speed * Time.deltaTime;

        // Calculate new local position
        float x = Mathf.Cos(angle) * radius;
        float z = Mathf.Sin(angle) * radius;

        // Apply the new position relative to the parent
        transform.localPosition = startLocalPosition + new Vector3(x, 0, z);
    }
}