Files
2026-07-21 08:56:10 +03:00

90 lines
2.3 KiB
C#

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