using System; using TMPro; using UnityEngine; using UnityEngine.Serialization; using UnityEngine.UI; namespace UnityTest.ZXL { public class DialogueUI : MonoBehaviour { public DialogueStr left; public DialogueStr right; public void StartAnDialogue(DialogueData leftData, DialogueData rightData) { ShowARole(DialogueType.火警119, true); // 隐藏所有 left.role.text = leftData.dialogueType.ToString(); left.content.text = leftData.content; ShowARole(leftData.dialogueType); right.role.text = rightData.dialogueType.ToString(); right.content.text = rightData.content; ShowARole(rightData.dialogueType); } void ShowARole(DialogueType dialogueType, bool isHideAll = false) { if (isHideAll) { // 隐藏所有的人物 return; } switch (dialogueType) { case DialogueType.学校实验室管理处负责老师K: break; case DialogueType.学院安全总负责人H: break; case DialogueType.学院应急处置小组负责人J: break; case DialogueType.火警119: break; case DialogueType.实验负责老师F: break; case DialogueType.实验组安全负责人同学G: break; default: throw new ArgumentOutOfRangeException(nameof(dialogueType), dialogueType, null); } } } [System.Serializable] public struct DialogueStr { public TextMeshProUGUI role; public TextMeshProUGUI content; public RawImage dialogueType; } }