LabExperio/Assets/Scripts/ScrollValve.cs

51 lines
1.3 KiB
C#
Raw Permalink Normal View History

2023-07-26 13:22:06 +00:00
using UnityEngine;
public class ScrollValve : MonoBehaviour
{
[SerializeField] GameObject Flask;
[SerializeField] GameObject Warning;
private decimal _valveOpeningDegree;
private readonly decimal _wheelSpeed = 0.05m;
private FillFlask _fillFlask;
void Start()
{
_fillFlask = Flask.GetComponent<FillFlask>();
_valveOpeningDegree = 0.0m;
}
void Update()
{
if (_fillFlask.GetFlaskFullnessValue() == 100)
{
_valveOpeningDegree = -1.0m;
Warning.SetActive(true);
}
}
void OnMouseOver()
{
float scroll = Input.GetAxis("Mouse ScrollWheel");
if (scroll < 0.0f)
{
if (_valveOpeningDegree <= 1.0m & _valveOpeningDegree > 0.0m)
{
_valveOpeningDegree -= _wheelSpeed;
this.transform.Rotate(0,0, (float)_wheelSpeed*120);
}
}
else if (scroll > 0.0f)
{
if (_valveOpeningDegree < 1.0m & _valveOpeningDegree >= 0.0m)
{
_valveOpeningDegree += _wheelSpeed;
this.transform.Rotate(0, 0, (float)-_wheelSpeed*120);
}
}
}
public decimal GetValveOpeningDegree() { return _valveOpeningDegree; }
}