public virtual SearcherFilter GetOutputToGraphSearcherFilter(IPortModel portModel) { // TODO : Need to be handled by TypeHandle.Resolve TypeHandle typeHandle = portModel.DataType == TypeHandle.ThisType ? m_Stencil.GetThisType() : portModel.DataType; Type type = typeHandle.Resolve(m_Stencil); GraphAssetModel assetModel = portModel.AssetModel as GraphAssetModel; return(new SearcherFilter(SearcherContext.Graph) .WithVisualScriptingNodes() .WithFields(type) .WithUnaryOperators(type, portModel.NodeModel is IConstantNodeModel) .WithBinaryOperators(type) .WithMethods(type) .WithProperties(type, false) .WithGraphAsset(assetModel)); }
public virtual List <SearcherDatabase> GetTypeMembersSearcherDatabases(TypeHandle typeHandle) { // TODO : Need to be handled by TypeHandle.Resolve Type type = typeHandle == TypeHandle.ThisType ? m_Stencil.GetThisType().Resolve(m_Stencil) : typeHandle.Resolve(m_Stencil); return(new List <SearcherDatabase> { new GraphElementSearcherDatabase(m_Stencil) .AddMembers( new[] { type }, MemberFlags.Field | MemberFlags.Method | MemberFlags.Property | MemberFlags.Extension, BindingFlags.Instance | BindingFlags.Public ) .Build() }); }