Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/BindBoolVariableToSwitch.cs
2026-03-04 09:37:33 +08:00

50 lines
742 B
C#

using Michsky.UI.Heat;
using Obvious.Soap;
using UnityEngine;
public class BindBoolVariableToSwitch : MonoBehaviour
{
[SerializeField]
private BoolVariable _BoolToCheck;
[SerializeField]
private bool _CheckOnEnable;
[SerializeField]
private SwitchManager _Switch;
private void OnEnable()
{
if (_CheckOnEnable)
{
UpdateSwitch();
}
_BoolToCheck.OnValueChanged += CheckValue;
}
private void OnDisable()
{
_BoolToCheck.OnValueChanged -= CheckValue;
}
private void CheckValue(bool value)
{
UpdateSwitch();
}
private void UpdateSwitch()
{
if ((bool)_Switch && _Switch.isOn != _BoolToCheck.Value)
{
if (_BoolToCheck.Value)
{
_Switch.SetOn();
}
else
{
_Switch.SetOff();
}
}
}
}