int GetLine(string label) { // Nullチェックと整形 label = NovelHelper.GetLabelString(label); if (!code.Labels.ContainsKey(label)) { throw new NRuntimeException($"ラベル \"{label}\"が存在しません."); } return(code.Labels[label]); }
/// <summary> /// 指定されたラベルから,コード実行を行います.ラベルが空であったり,存在しない場合冒頭から実行します. /// </summary> /// <returns>コルーチンを返却します.MonoBehaviourで実行するようにしてください.</returns> /// <param name="label">Label.</param> public IEnumerator Call(string label = default(string)) { ProgramCounter = 0; NullCheck(code); label = NovelHelper.GetLabelString(label); if (!string.IsNullOrWhiteSpace(label)) { if (code.Labels.ContainsKey(label)) { ProgramCounter = code.Labels[label]; } } IsRunning = true; return(StartEngine()); }