示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }