public override void ParseCue(string cueToken, string cueData) { switch (cueToken) { case "VICTIMS": // def.NumVictims = int.Parse(cueData); break; case "BG": def.Actions.Add(StageActionFactory.NewBackground(cueData)); break; case "BGM": def.Actions.Add(StageActionFactory.NewBackgroundMusic(cueData)); break; case "VO": def.Actions.Add(StageActionFactory.NewVOAction(cueData)); break; default: mCurrentCharacterDevName = cueToken; foreach (var action in DialogueParser.ParseCue(mCurrentCharacterDevName, cueData)) { def.Actions.Add(action); } break; } }
public override void ParseCue(string cueToken, string cueData) { if (DialogueParser.TryGetStageActionForCue(cueToken, cueData, out var stageAction)) { def.Actions.Add(stageAction); return; } switch (cueToken) { case "TITLE": def.SceneTitle = cueData; break; case "SUBTITLE": def.SceneDescription = cueData; break; default: if (!mSettings.KnownSpeakerNames.Contains(cueToken)) { throw new InvalidOperationException($"[CUTSCENE] Unknown cue token: {cueToken}"); } mCurrentCharacterDevName = cueToken; foreach (var action in DialogueParser.ParseCue(mCurrentCharacterDevName, cueData)) { def.Actions.Add(action); } break; } }