Files
aibis-dream/Assets/Scripts/Framework/Config/Character.cs
T
2025-03-07 22:28:12 +08:00

70 lines
1.8 KiB
C#

namespace AibisDream.Kit
{
public class Character
{
public string Key { get; set; }
public string Cn { get; set; }
public string NameColor { get; set; }
public string HeadPicPath { get; set; }
public string VoicePath { get; set; }
public ActorRole Role { get; set; }
public DialogViewType DialogViewType { get; set; }
/// <summary>
/// 避免干扰,复制结构体出来使用
/// </summary>
/// <returns></returns>
public CharacterVo GetStructVo()
{
CharacterVo vo;
vo.key = Key;
vo.cn = Cn;
vo.nameColor = NameColor;
vo.headPicPath = HeadPicPath;
vo.voicePath = VoicePath;
vo.role = Role;
vo.dialogViewType = DialogViewType;
return vo;
}
}
public struct CharacterVo
{
public string key;
public string cn;
public string nameColor;
public string headPicPath;
public string voicePath;
public ActorRole role;
public DialogViewType dialogViewType;
/// <summary>
/// 获取角色应该显示的名字
/// </summary>
/// <returns></returns>
public string GetActorName()
{
return string.IsNullOrEmpty(nameColor) ? cn : $"<color={nameColor}>{cn}</color>";
}
public string VoicePath
{
get
{
if (!string.IsNullOrEmpty(voicePath) && !voicePath.StartsWith("event:/"))
{
return "event:/" + voicePath;
}
return voicePath;
}
}
}
public enum ActorRole
{
Aside,
Player,
MainActor
}
}