using System; using AibisDream.Kit; using UnityEngine; using UnityEngine.UI; namespace AibisDream { public class DialogCanvasManager : Singleton { private const string BubbleView = "Dialog Bubble View"; private const string OldBoxView = "Dialog Box"; private const string QuickTalk = "Quick Talk"; private IDialogView _bubbleView; private IDialogView _oldBoxView; private IDialogView _curView; private GameObject _quickTalkButton; public override void OnSingletonInit() { InitDialogViews(); InitQuickTalkButton(); // 默认为旧Box _curView = _bubbleView; } #region 对话结束后隐藏 private void OnEnable() { DialogController.OnDialogueComplete += HideDialog; } private void OnDisable() { DialogController.OnDialogueComplete -= HideDialog; } private void HideDialog() { _curView.HideDialog(); } #endregion private void Update() { if (Input.GetKeyDown(KeyCode.Q) && Input.GetKey(KeyCode.P) ) { _quickTalkButton.SetActive(!_quickTalkButton.activeSelf); } } private void InitDialogViews() { _bubbleView = transform.Find(BubbleView).GetComponent(); _oldBoxView = transform.Find(OldBoxView).GetComponent(); _bubbleView.HideDialog(); _oldBoxView.HideDialog(); } private void InitQuickTalkButton() { _quickTalkButton = transform.Find(QuickTalk).gameObject; _quickTalkButton.GetComponent