Files
aibis-dream/Assets/Scripts/Game Loop/EventEnums.cs
T
2025-11-06 18:41:52 +08:00

77 lines
1.5 KiB
C#

using System.Text.RegularExpressions;
using AibisDream.Kit;
using AibisDream.Utility;
using Yarn.Unity;
namespace AibisDream
{
public enum EventEnum
{
NextYarn,
PlugIn,
PlugOut,
SceneLoad,
FixStateSwitch,
CutEnd
}
public enum GameLoopEnum
{
AppStart,
GameStart,
GameQuit,
PauseGame,
UnPauseGame
}
public enum DialogEventEnum
{
LineStart,
LineShown,
LineEnd,
OptionShow,
OptionSelected
}
public enum InteractionEventEnum
{
DialogStart,
DialogEnd
}
public struct DialogText
{
public bool isOption;
public string line;
public CharacterVo actor;
public string lineId;
public static DialogText GetLine(LocalizedLine dialogueLine)
{
return new DialogText
{
isOption = false,
line = dialogueLine.TextWithoutCharacterName.Text,
lineId = dialogueLine.TextID,
actor = dialogueLine.GetCharacterVo()
};
}
public string GetRecordLine()
{
const string allowedTagsPattern = @"(<|{)(?!\/?(b|i|color)(?=>|\s|=))[^(>|})]+(>|})";
var res = Regex.Replace(line, allowedTagsPattern, "");
return res;
}
}
public enum StorageEvent
{
VariableSet
}
public enum LocalizationEvent
{
LocaleChanged
}
}