示例#1
0
    private static ScenarioCue ParseCue(string line, string activeGroup)
    {
        string[] parts      = line.Split(':');
        string[] parameters = parts[0].Split(';');

        if (parts.Length != 2 || parameters.Length != 3)
        {
            throw new StxtReadError("Syntax error while reading stxt.");
        }

        if (parts[1].StartsWith("%"))
        {
            return(new ScenarioCue(
                       ScenarioCue.ActionFromString(parts[1].Substring(1)),
                       activeGroup,
                       Convert.ToSingle(parameters[0]),
                       0f,
                       Convert.ToSingle(parameters[1]),
                       Convert.ToUInt32(parameters[2])
                       ));
        }
        else
        {
            return(new ScenarioCue(
                       parts[1],
                       activeGroup,
                       Convert.ToSingle(parameters[0]),
                       0f,
                       Convert.ToSingle(parameters[1]),
                       Convert.ToUInt32(parameters[2])
                       ));
        }
    }
示例#2
0
    private void PlayCue(ScenarioCue cue)
    {
        if (cue.isAction)
        {
            InvokeCueAction(cue.action);
        }
        else
        {
            DisplayCue(cue.text);

            if (currentAudioCue != cue.audioCueIdx)
            {
                PlayAudioCue((int)cue.audioCueIdx);
            }
        }
    }