using System.Collections; using AibisDream.FixSystem; using DG.Tweening; using UnityEngine; namespace AibisDream { public class ClinicSystem : MonoBehaviour { [HideInInspector] public CharacterViewer character; private Transform _pumpHead; private GameObject _coolingScreen; public Vector3 pumpUpPos; public Vector3 pumpDownPos; public float pumpDuration; private void Awake() { FixSystemCenter.SystemDic.Register(this); character = transform.GetComponentInChildren(); _pumpHead = transform.Find("正图").Find("近景").Find("桌上泵头"); _coolingScreen = transform.Find("正图").Find("近景").Find("桌面泵机运作时亮灯").gameObject; } public IEnumerator Indoor(float duration) { // 加载诊所场景 gameObject.SetActive(true); // 开始界面淡出 yield return MainUIController.Instance.TVFadeOutSync(duration); } public IEnumerator Quit(float duration) { // 黑屏出现 yield return MainUIController.Instance.FadeInSync(duration); gameObject.SetActive(false); } public void StartTablePump() { _pumpHead.DOLocalMove(pumpDownPos, pumpDuration).SetLoops(-1, LoopType.Yoyo) .SetEase(Ease.Linear); // 点亮屏幕 _coolingScreen.SetActive(true); } public void StopTablePump() { _pumpHead.DOKill(); _pumpHead.DOLocalMove(pumpUpPos, 0.5f); // 熄灭屏幕 _coolingScreen.SetActive(false); } } }