58 lines
1.4 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
|