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();
 }
Esempio n. 2
0
        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();
        }