62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
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;
|
|
}
|
|
} |