using System; using System.Collections.Generic; using Core; using Script.Gameplay.Input; using Script.Gameplay.Player; using TMPro; using UnityEngine; namespace UI { // 负责显示玩家对话内容的UI组件 public class PlayerDialogueViewer : UIBase { [SerializeField] private TMP_Text dialogueText; [SerializeField] private GameObject panel; private PlayerDialogueController playerDialogueController; private InputManager inputManager; protected override void Awake() { base.Awake(); inputManager = InputManager.Instance; ControllerLocator.Instance.TryGetWait(OnGetPlayerDialogueController); } private void OnGetPlayerDialogueController(PlayerDialogueController controller) { playerDialogueController = controller; playerDialogueController.RegisterDialogueViewer(this); } public void ReceiveDialogue(string content) { UIManager.Instance.OpenUI(); dialogueText.text = content; } } }