public static FunctionButton CreateFunctionButton(SyncrParamType t) { switch (t) { case SyncrParamType.VOID: return(new FunctionButton()); case SyncrParamType.STRING: return(new FunctionButtonString()); case SyncrParamType.INT: return(new FunctionButtonInt()); case SyncrParamType.FLOAT: return(new FunctionButtonFloat()); case SyncrParamType.ENUM: return(new FunctionButtonEnum()); case SyncrParamType.BOOL: return(new FunctionButtonBool()); default: return(new FunctionButtonString()); } }
public void BindFunction(string trigger, NewMessageEvent func, SyncrParamType paramType = SyncrParamType.VOID, string[] enumTypes = null) { if (RegisteredFunctions.ContainsKey(trigger)) { RegisteredFunctions[trigger] += func; } else { RegisteredFunctions.Add(trigger, func); } string eTypes = ""; if (enumTypes != null) { foreach (string s in enumTypes) { eTypes += s + " "; } } eTypes = eTypes.Trim(); SendMessage("FUNCTION " + GroupName + " " + ProcName + " " + trigger + " " + paramType.ToString() + " " + eTypes); }
public SyncrFunctionType(SyncrParamType t, string[] e = null, string g = "") { type = t; enumChoices = e; group = g; }