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; }
///
/// 避免干扰,复制结构体出来使用
///
///
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;
///
/// 获取角色应该显示的名字
///
///
public string GetActorName()
{
return string.IsNullOrEmpty(nameColor) ? cn : $"{cn}";
}
public string VoicePath
{
get
{
if (!string.IsNullOrEmpty(voicePath) && !voicePath.StartsWith("event:/"))
{
return "event:/" + voicePath;
}
return voicePath;
}
}
}
public enum ActorRole
{
Aside,
Player,
MainActor
}
}