/// <summary>
 /// 環境変数をセットする
 /// </summary>
 /// <remarks>
 /// 環境変数をセットする。
 /// 通常スコープの場合はゾーンチェンジに消去される。
 /// グローバルスコープの場合はアプリケーションの実行中、常に保持される。</remarks>
 /// <param name="name">変数名</param>
 /// <param name="value">値</param>
 /// <param name="global">グローバルスコープか?</param>
 public void SetVar(
     string name,
     object value,
     bool global = false) =>
 TimelineExpressionsModel.SetVariable(
     name,
     value,
     global ? TimelineModel.GlobalZone : this.Zone);
示例#2
0
        private static IEnumerable <TextCommand> CreateExpressionsCommands()
        {
            var setCommand = new TextCommand(
                (string logLine, out Match match) =>
            {
                match = null;

                if (!logLine.ContainsIgnoreCase(TimelineCommand))
                {
                    return(false);
                }

                match = SetVarCommandRegex.Match(logLine);
                return(match.Success);
            },
                (string logLine, Match match) =>
            {
                if (match == null ||
                    !match.Success)
                {
                    return;
                }

                var name  = match.Groups["name"].ToString();
                var value = match.Groups["value"].ToString();

                var option = match.Groups["option"]?.ToString() ?? string.Empty;
                var zone   = TimelineController.CurrentController?.CurrentZoneName ?? string.Empty;

                option = option.ToLower();

                if (option.ContainsIgnoreCase("global"))
                {
                    zone = TimelineModel.GlobalZone;
                }
                else
                {
                    if (option.ContainsIgnoreCase("temp"))
                    {
                        zone = string.Empty;
                    }
                }

                TimelineExpressionsModel.SetVariable(name, value, zone);
            });

            return(new[] { setCommand });
        }
 /// <summary>
 /// 一時変数をセットする
 /// </summary>
 /// <remarks>
 /// タイムラインのリセット時に消去される一時変数をセットする</remarks>
 /// <param name="name">変数名</param>
 /// <param name="value">値</param>
 public void SetTemp(
     string name,
     object value) =>
 TimelineExpressionsModel.SetVariable(
     name,
     value);