90 lines
2.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |