using System.Text.RegularExpressions; using AibisDream.Kit; using AibisDream.Utility; using Yarn.Unity; namespace AibisDream { public enum EventEnum { NextYarn, PlugIn, PlugOut, SceneLoad, FixSceneModeChanged, CutEnd } public enum GameLoopEnum { AppStart, GameStart, GameQuit, PauseGame, UnPauseGame, ScreenResolutionChanged } public enum DialogEventEnum { StartNode, LineStart, LineShown, LineEnd, OptionShow, OptionSelected } public enum InteractionEventEnum { DialogStart, DialogEnd } public enum ScreenEventEnum { RegisterLineView, Selected } 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 SettingChangeEvent { TextSpeed, LocaleChanged } public enum TerminalUIAudioEnum { Hover, Click, } public enum TerminalUIEvent { MainMenuPhase, PauseMenuAmbEnter, PauseMenuAmbExit, } }