Files
aibis-dream/Assets/Scripts/MiniGame/Engine/OilGate.cs
T
2024-12-30 23:31:37 +08:00

58 lines
1.4 KiB
C#

using DG.Tweening;
using UnityEngine;
namespace AibisDream
{
public class OilGate : MonoBehaviour
{
private SpriteButton _spriteButton;
private EngineSystem _engineSystem;
private void Start()
{
_engineSystem = transform.parent.GetComponent<EngineSystem>();
}
private void OnEnable()
{
_spriteButton = new SpriteButton(gameObject);
_spriteButton.OnButtonDown += ButtonClick;
_spriteButton.OnButtonUp += ButtonUp;
_spriteButton.OnButtonHold += ButtonHold;
}
private void OnDisable()
{
_spriteButton = null;
}
private void Update()
{
_spriteButton?.CheckButtonClick();
}
private void ButtonClick()
{
transform.DOPause();
transform.DORotate(new Vector3(0, 0, 45), 5f);
// 播引擎
AudioManager.PlayLoopAudio("engine_on");
AudioManager.StopInteraction();
}
private void ButtonUp()
{
AudioManager.PauseLoopAudio();
AudioManager.PlayInteraction("engine_off");
transform.DOPause();
transform.DORotate(new Vector3(0, 0, 0), 0.2f);
}
private void ButtonHold()
{
_engineSystem.AddOil();
}
}
}