// Funtion to open a new dialog window toload the virtual world file public void GetStimulus() { Thread t = new Thread((ThreadStart)(() => { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.InitialDirectory = Assembly.GetExecutingAssembly().Location; fileDialog.Title = "Open File"; fileDialog.Filter = "XML Files (*.xml)|*.xml|" + "All Files (*.*)|*.*"; if (fileDialog.ShowDialog() == DialogResult.OK) { root = LoadStimulus(fileDialog.FileName); } })); t.SetApartmentState(ApartmentState.STA); t.Start(); t.Join(); if (root != null) { Services.AddService(typeof(WorldObject), root); Init(root); } ExperimentProtocolFactory epf = (ExperimentProtocolFactory)root.objectBuilder[0]; epf.Initialize(root, this); this.EP = (ExperimentProtocol)root.GetService(typeof(ExperimentProtocol)); }
public override void Initialize(IServiceProvider provider, Game game) { var wo = (IServiceContainer)provider.GetService(typeof(IServiceContainer)); var ep = new ExperimentProtocol(provider, duration, durationTrials, stimTypes); wo.AddService(typeof(ExperimentProtocol), ep); }