public override void Load() { FlowProcessingPipeline flowProcessingPipeline = null; Func<IContext, FlowProcessingPipeline> load = x => flowProcessingPipeline ?? (flowProcessingPipeline = new FlowProcessingPipeline(x.Kernel.Get<IFlowProcessingRequestHandler>())); this.Bind<FlowProcessingPipeline>().ToMethod(load); this.Bind<IFlowProcessingPipeline>().ToMethod(load); this.Bind<IFormFactory>().ToFactory(); }
public FlowForm( IKernel kernel, IFormFactory formFactory, IStorageAccess storageAccess, Lazy<FlowProcessingPipeline> flowProcessingPipeline) { // TODO: Expose this in the UI. this.Seed = 0xDEADBEEF; this.InitializeComponent(); kernel.Rebind<IRenderingLocationProvider>().ToMethod(context => this); kernel.Rebind<ICurrentWorldSeedProvider>().ToMethod(context => this); this.m_FlowProcessingPipeline = flowProcessingPipeline.Value; this.m_FormFactory = formFactory; this.m_StorageAccess = storageAccess; if (this.m_FlowProcessingPipeline == null) throw new Exception("IFlowProcessingPipeline is not of type FlowProcessingPipeline."); this.m_FlowProcessingPipeline.FormConnect(this); this.CreateAnalysisActions(); this.UpdateStatusArea(); }