Пример #1
0
        /// <summary>
        /// 변수 블럭을 생성해 주는 함수
        /// </summary>
        /// <param name="variableName">C# 형태에서의 변수의 이름</param>
        /// <param name="variableType">매개변수의 자료형</param>
        /// <param name="friendlyName">블럭으로 노출될 변수의 이름</param>
        /// <returns>
        /// 매개변수의 자료형이 string이면 StringVariableBlock을 반환
        /// 매개변수의 자료형이 bool이면 LogicVariableBlock을 반환
        /// 매개변수의 자료형이 숫자 형태인 경우 NumberVariableBlock을 반환
        /// 이 외의 경우 CustomVariableBlock을 반환합니다.
        /// </returns>
        public static VariableBlock CreateVariableBlock(string variableName, string friendlyName = null)
        {
            GVariable variable = GSharpUtils.CreateGVariable(variableName);

            if (friendlyName == null)
            {
                friendlyName = variableName;
            }

            return(new VariableBlock(friendlyName, variable));
        }
Пример #2
0
        public GEvent(GCommand command)
        {
            GCommand = command;

            for (int i = 0; i < GCommand.Optionals?.Length; i++)
            {
                string variableName = GCommand.Optionals[i].Name;
                variableName = PREFIX_ARG + variableName[0].ToString().ToUpper() + variableName.Substring(1);

                GVariable variable = GSharpUtils.CreateGVariable(variableName);

                Arguments.Add(variable);
                ArgumentsType.Add(GCommand.Optionals[i].ObjectType);
            }
        }
Пример #3
0
        public GControlEvent(string controlName, GExport export)
        {
            ControlName = controlName;
            GExport     = export;

            for (int i = 0; i < GExport.Optionals?.Length; i++)
            {
                string variableName = GExport.Optionals[i].Name;
                variableName = PREFIX_ARG + variableName[0].ToString().ToUpper() + variableName.Substring(1);

                GVariable variable = GSharpUtils.CreateGVariable(variableName);

                Arguments.Add(variable);
                ArgumentsType.Add(GExport.Optionals[i].ObjectType);
            }
        }
Пример #4
0
        public override string ToSource()
        {
            var argumentList = new List <string>();

            for (int i = 0; i < GCommand.Optionals?.Length; i++)
            {
                if (i < Arguments?.Length)
                {
                    argumentList.Add(GSharpUtils.CastParameterString(Arguments[i], GCommand.Optionals[i].ObjectType));
                }
                else
                {
                    argumentList.Add("null");
                }
            }

            return(string.Format("{0}({1});", GCommand.FullName, string.Join(", ", argumentList)));
        }
Пример #5
0
        public override string ToSource()
        {
            var builder = new StringBuilder();

            return(string.Format("{0} = {1};\n", GSettableObject?.ToSource(), GSharpUtils.CastParameterString(Value, GSettableObject?.SettableType)));
        }