103 lines
3.0 KiB
C#
103 lines
3.0 KiB
C#
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace AllIn13DShader
|
|
{
|
|
public class OptionsDemo : MonoBehaviour
|
|
{
|
|
[SerializeField] private Color lockedColor = Color.red;
|
|
|
|
[Space, Header("Lock Camera")]
|
|
[SerializeField] private AllIn1MouseTransformRotator allIn1MouseRotate;
|
|
[SerializeField] private TextMeshProUGUI lockCamText;
|
|
[SerializeField] private Image lockCamButtonImage;
|
|
|
|
[Space, Header("Lock Cursor")]
|
|
[SerializeField] private bool lockCursor = true;
|
|
[SerializeField] private TextMeshProUGUI lockCursorText;
|
|
[SerializeField] private Image lockCursorButtonImage;
|
|
|
|
[Space, Header("Hide Ui")]
|
|
[SerializeField] private CanvasGroup uiCanvasGroup;
|
|
[SerializeField] private float uiCanvasSmoothing = 5f;
|
|
|
|
[Space, Header("Demo Info")]
|
|
[SerializeField] private bool showingDemoInfo = false;
|
|
[SerializeField] private Image showDemoInfoButtonImage;
|
|
|
|
private bool cursorIsLocked, camIsLocked, uiIsHidden;
|
|
private float uiCanvasAlpha;
|
|
|
|
private void Start()
|
|
{
|
|
cursorIsLocked = lockCursor;
|
|
SetCursorLock();
|
|
|
|
camIsLocked = false;
|
|
SetCamLock();
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
uiCanvasGroup.alpha = Mathf.Lerp(uiCanvasGroup.alpha, uiIsHidden ? 0f : 1f, Time.unscaledDeltaTime * uiCanvasSmoothing);
|
|
}
|
|
|
|
public void ToggleCursorButtonPress()
|
|
{
|
|
cursorIsLocked = !cursorIsLocked;
|
|
SetCursorLock();
|
|
}
|
|
|
|
public void ToggleShowInfo()
|
|
{
|
|
showingDemoInfo = !showingDemoInfo;
|
|
showDemoInfoButtonImage.color = showingDemoInfo ? lockedColor : Color.clear;
|
|
}
|
|
|
|
private void SetCursorLock()
|
|
{
|
|
if(cursorIsLocked)
|
|
{
|
|
Cursor.lockState = CursorLockMode.Locked;
|
|
Cursor.visible = false;
|
|
lockCursorText.text = "Unlock Cursor";
|
|
lockCursorButtonImage.color = lockedColor;
|
|
}
|
|
else
|
|
{
|
|
Cursor.lockState = CursorLockMode.None;
|
|
Cursor.visible = true;
|
|
lockCursorText.text = "Lock Cursor";
|
|
lockCursorButtonImage.color = Color.clear;
|
|
}
|
|
}
|
|
|
|
public void CamLockButtonPress()
|
|
{
|
|
camIsLocked = !camIsLocked;
|
|
SetCamLock();
|
|
}
|
|
|
|
|
|
private void SetCamLock()
|
|
{
|
|
allIn1MouseRotate.enabled = !camIsLocked;
|
|
if(camIsLocked)
|
|
{
|
|
lockCamText.text = "Unlock Camera";
|
|
lockCamButtonImage.color = lockedColor;
|
|
}
|
|
else
|
|
{
|
|
lockCamText.text = "Lock Camera";
|
|
lockCamButtonImage.color = Color.clear;
|
|
}
|
|
}
|
|
|
|
public void HideUiButtonPress()
|
|
{
|
|
uiIsHidden = !uiIsHidden;
|
|
}
|
|
}
|
|
} |