public Parameter AddCustomParameter(string name, Type type, ParameterType param_type) { Parameter instance = (Parameter)ObjectBase.CreateInstance(type, name.IsNullOrEmpty() ? "new " + type.GetTypeName() : name); switch (param_type) { case ParameterType.None: variableParameters.Add(instance); inputParameters.Add(instance); outputParameters.Add(instance); return(instance); case ParameterType.Variable: variableParameters.Add(instance); return(instance); case ParameterType.Input: inputParameters.Add(instance); return(instance); case ParameterType.Output: outputParameters.Add(instance); return(instance); default: goto case ParameterType.None; } }
public void FixNullGraphInstace(bool add_default_nodes = false) { if (!m_graph) { m_graph = ObjectBase.CreateInstance <Graph>(); if (add_default_nodes) { m_graph.AddNode <StartEvent>(); m_graph.AddNode <UpdateEvent>(new Vector2(0.0f, 240.0f)); } m_graph.OnGraphAdd(); } }
public VariableObject <T> AddVariable <T>(int key, string name) { VariableObject v; if (properties.TryGetValue(key, out v)) { v.name = name; return((VariableObject <T>)v); } VariableObject <T> instance = ObjectBase.CreateInstance <VariableObject <T> >(name); properties[key] = instance; return(instance); }
public VariableObject <T> AddVariable <T>(Parameter <T> parameter) { VariableObject v; if (properties.TryGetValue(parameter.id, out v)) { v.name = parameter.name; v.is_public = parameter.is_public; return((VariableObject <T>)v); } VariableObject <T> instance = ObjectBase.CreateInstance <VariableObject <T> >(parameter.id, parameter.name, parameter.is_public); properties[parameter.id] = instance; return(instance); }