1
0
Fork 0
LaboratoryProtection/Assets/UnityTest/ZXL/Scripts/UI/RoleLabel.cs

53 lines
1.3 KiB
C#

using System;
using Mono.Event;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
namespace UnityTest.ZXL
{
public class RoleLabel : Label
{
public RoleLabelType roleLabelType;
public TextMeshProUGUI roleName;
public TextMeshProUGUI speakContent;
private void Awake()
{
EventManager.Instance.Subscribe(RoleLabelEventArgs.EventId, RoleLabelEvent);
roleName.text = roleLabelType.ToString();
}
private void RoleLabelEvent(object sender, GameEventArgs e)
{
var args = e as RoleLabelEventArgs;
speakContent.text = args.speakContent;
}
private void OnDestroy()
{
EventManager.Instance.Unsubscribe(RoleLabelEventArgs.EventId, RoleLabelEvent);
}
#if UNITY_EDITOR
[Button]
void Add()
{
roleName = transform.GetChild(0).GetChild(0).GetComponent<TextMeshProUGUI>();
speakContent = transform.GetChild(1).GetChild(0).GetComponent<TextMeshProUGUI>();
roleName.text = roleLabelType.ToString();
}
#endif
}
public enum RoleLabelType
{
A,
B,
C,
D,
E,
F,
G,
}
}