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]) )); } }
private void PlayCue(ScenarioCue cue) { if (cue.isAction) { InvokeCueAction(cue.action); } else { DisplayCue(cue.text); if (currentAudioCue != cue.audioCueIdx) { PlayAudioCue((int)cue.audioCueIdx); } } }