// 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));
        }
示例#2
0
        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);
        }