public static ParamDefinition Create <T>(string name, string nickname, string description, object defaultValue, GH_ParamAccess access = GH_ParamAccess.item, bool optional = false, ParamVisibility relevance = ParamVisibility.Binding) where T : class, IGH_Param, new() { var param = new T() { Name = name, NickName = nickname, Description = description, Access = access, Optional = optional }; if (typeof(T).IsGenericSubclassOf(typeof(GH_PersistentParam <>))) { dynamic persistentParam = param; persistentParam.SetPersistentData(defaultValue); } return(new ParamDefinition(param, relevance)); }
public static ParamDefinition Create <T>(string name, string nickname, string description = "", GH_ParamAccess access = GH_ParamAccess.item, bool optional = false, ParamVisibility relevance = ParamVisibility.Binding) where T : class, IGH_Param, new() { var param = new T() { Name = name, NickName = nickname, Description = description, Access = access, Optional = optional }; return(new ParamDefinition(param, relevance)); }
public static ParamDefinition FromParam <T>(GH_PersistentParam <T> param, ParamVisibility relevance, object defaultValue) where T : class, IGH_Goo, new() { var def = new ParamDefinition(param, relevance); if (def.Param is GH_PersistentParam <T> persistentParam) { var data = new T(); if (!data.CastFrom(defaultValue)) { throw new InvalidCastException(); } persistentParam.PersistentData.Append(data); } return(def); }
public static ParamDefinition FromParam(IGH_Param param, ParamVisibility relevance) => new ParamDefinition(param, relevance);
internal ParamDefinition(IGH_Param param, ParamVisibility relevance) { Param = param; Relevance = relevance; }
internal ParamDefinition(IGH_Param param) { Param = param; Relevance = ParamVisibility.Binding; }