Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
namespace Wizard;
|
|
|
|
public class Emotion
|
|
{
|
|
public readonly int emotion_id;
|
|
|
|
public readonly ClassCharaPrm.FaceType face_id;
|
|
|
|
public readonly ClassCharaPrm.MotionType motion_id;
|
|
|
|
private readonly string voice_id;
|
|
|
|
private readonly string evolved_voice_id;
|
|
|
|
private readonly string text;
|
|
|
|
private readonly string evolved_text;
|
|
|
|
public Emotion(string[] columns)
|
|
{
|
|
emotion_id = int.Parse(columns[0]);
|
|
face_id = (string.IsNullOrEmpty(columns[1]) ? ClassCharaPrm.FaceType.skin_01 : ((ClassCharaPrm.FaceType)int.Parse(columns[1])));
|
|
motion_id = (string.IsNullOrEmpty(columns[2]) ? ClassCharaPrm.MotionType.idle : ((ClassCharaPrm.MotionType)int.Parse(columns[2])));
|
|
string[] array = columns[3].Split(':');
|
|
voice_id = array[0];
|
|
evolved_voice_id = ((array.Length > 1) ? array[1] : array[0]);
|
|
string[] array2 = columns[4].Split(':');
|
|
text = ConvEmoteMasterText(array2[0]);
|
|
evolved_text = ((array2.Length > 1) ? ConvEmoteMasterText(array2[1]) : ConvEmoteMasterText(array2[0]));
|
|
}
|
|
|
|
private string ConvEmoteMasterText(string id)
|
|
{
|
|
if (string.IsNullOrEmpty(id))
|
|
{
|
|
return "";
|
|
}
|
|
return Data.Master.GetEmoteWordText(id);
|
|
}
|
|
|
|
public string GetVoiceId(bool isEvolved = false)
|
|
{
|
|
if (!isEvolved)
|
|
{
|
|
return voice_id;
|
|
}
|
|
return evolved_voice_id;
|
|
}
|
|
|
|
public string GetText(bool isEvolved = false)
|
|
{
|
|
if (!isEvolved)
|
|
{
|
|
return text;
|
|
}
|
|
return evolved_text;
|
|
}
|
|
}
|