Exemplo n.º 1
0
        int GetLine(string label)
        {
            // Nullチェックと整形
            label = NovelHelper.GetLabelString(label);

            if (!code.Labels.ContainsKey(label))
            {
                throw new NRuntimeException($"ラベル \"{label}\"が存在しません.");
            }
            return(code.Labels[label]);
        }
Exemplo n.º 2
0
 /// <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());
 }