using UnityEngine; using UnityEngine.UI; using TMPro; public class PlatformUI : MonoBehaviour { private VirtualPlatformManager platformManager; [Header("Axis Buttons")] [SerializeField] private Button xAxisButton; [SerializeField] private Button yAxisButton; [SerializeField] private Button zAxisButton; [Header("Movement Buttons")] [SerializeField] private Button moveUpButton; [SerializeField] private Button moveDownButton; [SerializeField] private float moveStep = 1f; [Header("Display")] [SerializeField] private Toggle gridToggle; private void Start() { platformManager = VirtualPlatformManager.getInstance(); SetupButtons(); } private void SetupButtons() { xAxisButton?.onClick.AddListener(() => { platformManager.SwitchToAxis(BuildAxis.X); }); yAxisButton?.onClick.AddListener(() => { platformManager.SwitchToAxis(BuildAxis.Y); }); zAxisButton?.onClick.AddListener(() => { platformManager.SwitchToAxis(BuildAxis.Z); }); moveUpButton?.onClick.AddListener(() => { platformManager.MovePlatform(moveStep); }); moveDownButton?.onClick.AddListener(() => { platformManager.MovePlatform(-moveStep); }); gridToggle?.onValueChanged.AddListener((visible) => { platformManager.ToggleGridVisibility(visible); }); } private void Update() { // Keyboard shortcuts if (Input.GetKeyDown(KeyCode.Alpha1)) { platformManager.SwitchToAxis(BuildAxis.X); } if (Input.GetKeyDown(KeyCode.Alpha2)) { platformManager.SwitchToAxis(BuildAxis.Y); } if (Input.GetKeyDown(KeyCode.Alpha3)) { platformManager.SwitchToAxis(BuildAxis.Z); } // Arrow keys or +/- to move platform if (Input.GetKeyDown(KeyCode.UpArrow) || Input.GetKeyDown(KeyCode.Equals)) { platformManager.MovePlatform(moveStep); } if (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.Minus)) { platformManager.MovePlatform(-moveStep); } } }