42 lines
1019 B
C#
42 lines
1019 B
C#
|
using UdonSharp;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace QvPen.UdonScript.UI
|
||
|
{
|
||
|
[DefaultExecutionOrder(30)]
|
||
|
[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
|
||
|
public class QvPen_ShowOrHideButton : UdonSharpBehaviour
|
||
|
{
|
||
|
[SerializeField]
|
||
|
private GameObject[] gameObjects = { };
|
||
|
|
||
|
[SerializeField]
|
||
|
private bool isShown = true;
|
||
|
|
||
|
[SerializeField]
|
||
|
private GameObject displayObjectOn;
|
||
|
[SerializeField]
|
||
|
private GameObject displayObjectOff;
|
||
|
|
||
|
private void Start() => UpdateActivity();
|
||
|
|
||
|
public override void Interact()
|
||
|
{
|
||
|
isShown ^= true;
|
||
|
UpdateActivity();
|
||
|
}
|
||
|
|
||
|
private void UpdateActivity()
|
||
|
{
|
||
|
if (displayObjectOn)
|
||
|
displayObjectOn.SetActive(isShown);
|
||
|
if (displayObjectOff)
|
||
|
displayObjectOff.SetActive(!isShown);
|
||
|
|
||
|
foreach (var go in gameObjects)
|
||
|
if (go)
|
||
|
go.SetActive(isShown);
|
||
|
}
|
||
|
}
|
||
|
}
|