public void OnRegisterPorts() { on_enter = RegisterExitPort("Enter"); on_stay = RegisterExitPort("Stay"); on_exit = RegisterExitPort("Exit"); RegisterOutputValue <Collision2D>("Collision2D", () => { return(collision); }); }
public void OnRegisterDefaultPorts() { if (useOut) { output = RegisterExitPort("Out"); } }
public void OnRegisterDefaultPorts() { if (reference) { this.title = this.name = "{ " + string.Format("{0}", reference.title.IsNullOrEmpty() ? reference.name : reference.title) + " }"; this.subtitle = reference.subtitle; macro = this; input_node = (InputNode)reference.graph.nodes.FirstOrDefault(n => n is InputNode); output_node = (OutputNode)reference.graph.nodes.FirstOrDefault(n => n is OutputNode); if (input_node) { input_node.macro = this; input = RegisterEntryPort("In", OnExecute); } if (output_node) { output_node.macro = this; output = RegisterExitPort("Out"); } if (macro) { if (input_node) { input_acts = new List <InputAction>(); input_values = new Dictionary <int, IInputValue>(); foreach (Parameter parameter in reference.graph.inputParameters) { if (parameter is ParameterInput) { input_acts.Add(RegisterEntryPort(parameter.name, () => { Call(input_node.output_acts[parameter.id]); })); } else { input_values[parameter.id] = (IInputValue)RegisterInputValue(parameter.valueType, parameter.name); } } } if (output_node) { output_acts = new Dictionary <int, OutputAction>(); output_values = new List <IOutputValue>(); foreach (Parameter parameter in reference.graph.outputParameters) { if (parameter is ParameterOutput) { output_acts[parameter.id] = RegisterExitPort(parameter.name); } else { output_values.Add((IOutputValue)RegisterOutputValue(parameter.valueType, parameter.name, () => { return(output_node.input_values[parameter.id].GetValue()); })); } } } } } }
public void OnRegisterPorts() { input_value = RegisterInputValue <string>("Input"); compare = RegisterInputValue <string>("Compare With"); on_equals = RegisterExitPort("=="); on_not_equals = RegisterExitPort("!="); }
public void OnRegisterPorts() { first_index = RegisterInputValue <int>("first index"); last_index = RegisterInputValue <int>("last index"); on_loop = RegisterExitPort("Loop"); RegisterOutputValue <int>("index", () => { return(index); }); }
public void OnRegisterPorts() { list = RegisterInputValue <IEnumerable>("list"); RegisterEntryPort("Break", () => { broken = true; }); RegisterOutputValue <object>("current", () => { return(current); }); on_loop = RegisterExitPort("Loop"); }
public void OnRegisterPorts() { input_value = RegisterInputValue <string>("Input"); compare = RegisterInputValue <string>("Compare With"); on_equals = RegisterExitPort("=="); on_great = RegisterExitPort(">"); on_less = RegisterExitPort("<"); }
public void RegisterPort(string name) { OutputAction output = RegisterExitPort(name); if (m_outputs.Contains(output)) { return; } m_outputs.Add(output); }
public void OnRegisterDefaultPorts() { if (useIn) { input = RegisterEntryPort("In", OnExecute); } if (useOut) { output = RegisterExitPort("Out"); } }
public void OnRegisterDefaultPorts() { output = RegisterExitPort("Out"); int id = 0; output_values = new List <IOutputValue>(); output_acts = new Dictionary <int, OutputAction>(); foreach (Parameter parameter in graph.inputParameters) { if (parameter is ParameterInput) { output_acts[parameter.id] = RegisterExitPort(parameter.name); } else { output_values.Add((IOutputValue)RegisterOutputValue(parameter.valueType, parameter.name, () => { return(macro.input_values[parameter.id].GetValue()); })); } } id++; }
public void OnRegisterPorts() { on_true = RegisterExitPort("True"); on_false = RegisterExitPort("False"); condition = RegisterInputValue <bool>("condition"); }
public void OnRegisterPorts() { reset = RegisterEntryPort("Reset", Reset); on_completed = RegisterExitPort("Completed"); }
public void SetMethod(MethodInfo method_info, params Type[] type_args) { if (method_info == null) { #if UNITY_EDITOR node_color = Color.red; DisplayMessage("Missing Method", UnityEditor.MessageType.Error); #endif Debug.LogError("type method_info is null!"); return; } this.cached_method = method_info; if (type_args.IsNullOrEmpty()) { this.serialized_method = this.serialized_method ?? new SerializedMethod(method_info); } else { this.serialized_method = this.serialized_method ?? new SerializedMethod(method_info, type_args); } string method_name = cached_method.Name; this.name = method_name; RegisterEntryPort("In", Execute); this.output = RegisterExitPort("Out"); if (method_info.ReturnType != typeof(void)) { RegisterOutputValue(method_info.ReturnType, "Get", Invoke); } #if UNITY_EDITOR node_color = GUIReferrer.GetTypeColor(method_info.ReturnType); ObsoleteAttribute obsolete_flag = method_info.GetAttribute <ObsoleteAttribute>(false); if (obsolete_flag != null) { DisplayMessage(obsolete_flag.Message, UnityEditor.MessageType.Warning); } #endif if (method_info.IsStatic) { this.target = null; string title = method_name; if (title.Contains("get_")) { title = title.Replace("get_", string.Empty); } else if (title.Contains("set_")) { title = title.Replace("set_", string.Empty); } this.title = title; } else { this.target = (IInputValue)RegisterInputValue(method_info.ReflectedType, "Target"); string title = method_name; if (title.Contains("get_")) { title = /*"[Get] " + */ title.Replace("get_", string.Empty).AddSpacesToSentence(); } else if (title.Contains("set_")) { title = /*"[Set] " + */ title.Replace("set_", string.Empty).AddSpacesToSentence(); } this.title = title; } parameters = new List <IInputValue>(); foreach (ParameterInfo parameter in method_info.GetParameters()) { parameters.Add((IInputValue)RegisterInputValue(parameter.ParameterType, parameter.Name.AddSpacesToSentence())); } }
public void OnRegisterPorts() { condition = RegisterInputValue <bool>("condition"); on_loop = RegisterExitPort("Loop"); }