72 lines
2.0 KiB
C#
72 lines
2.0 KiB
C#
![]() |
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
|
|||
|
namespace MenteBacata.ScivoloCharacterControllerDemo
|
|||
|
{
|
|||
|
public class LevelRotator : MonoBehaviour
|
|||
|
{
|
|||
|
public GameObject menuPanel;
|
|||
|
|
|||
|
public Text xRotText, yRotText, zRotText;
|
|||
|
|
|||
|
public Slider xRotSlider, yRotSlider, zRotSlider;
|
|||
|
|
|||
|
public KeyCode showHideMenuKey;
|
|||
|
|
|||
|
private Vector3 originalGravity;
|
|||
|
|
|||
|
private void Start()
|
|||
|
{
|
|||
|
SetRotationText();
|
|||
|
menuPanel.SetActive(false);
|
|||
|
originalGravity = Physics.gravity;
|
|||
|
#if !UNITY_EDITOR
|
|||
|
Cursor.lockState = CursorLockMode.Locked;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
private void LateUpdate()
|
|||
|
{
|
|||
|
if (Input.GetKeyDown(showHideMenuKey))
|
|||
|
ToggleMenuVisibility();
|
|||
|
}
|
|||
|
|
|||
|
public void ToggleMenuVisibility()
|
|||
|
{
|
|||
|
menuPanel.SetActive(!menuPanel.activeSelf);
|
|||
|
SetEnableComponents(!menuPanel.activeSelf);
|
|||
|
Time.timeScale = menuPanel.activeSelf ? 0f : 1f;
|
|||
|
#if !UNITY_EDITOR
|
|||
|
Cursor.lockState = menuPanel.activeSelf ? CursorLockMode.Confined : CursorLockMode.Locked;
|
|||
|
#endif
|
|||
|
}
|
|||
|
|
|||
|
public void HandleRotationChange()
|
|||
|
{
|
|||
|
SetRotationText();
|
|||
|
Quaternion newRot = Quaternion.Euler(xRotSlider.value, yRotSlider.value, zRotSlider.value);
|
|||
|
transform.rotation = newRot;
|
|||
|
Physics.gravity = newRot * originalGravity;
|
|||
|
}
|
|||
|
|
|||
|
private void SetRotationText()
|
|||
|
{
|
|||
|
xRotText.text = $"X: {Mathf.RoundToInt(xRotSlider.value)}°";
|
|||
|
yRotText.text = $"Y: {Mathf.RoundToInt(yRotSlider.value)}°";
|
|||
|
zRotText.text = $"Z: {Mathf.RoundToInt(zRotSlider.value)}°";
|
|||
|
}
|
|||
|
|
|||
|
private void SetEnableComponents(bool enabled)
|
|||
|
{
|
|||
|
Camera.main.GetComponent<OrbitingCamera>().enabled = enabled;
|
|||
|
|
|||
|
FindObjectOfType<SimpleCharacterController>().enabled = enabled;
|
|||
|
|
|||
|
foreach (var m in FindObjectsOfType<MovingPlatform>())
|
|||
|
{
|
|||
|
m.enabled = enabled;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|