/// <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)); }
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); } }
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); } }
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))); }
public override string ToSource() { var builder = new StringBuilder(); return(string.Format("{0} = {1};\n", GSettableObject?.ToSource(), GSharpUtils.CastParameterString(Value, GSettableObject?.SettableType))); }