public void AddInput(InputList pluginToAdd) { var plugin = CoreSolids.InputPlugins.First(t => t.Id == pluginToAdd.Id); Debug.WriteLine(plugin); ICoalesceInputPlugin newInstance = (ICoalesceInputPlugin)Activator.CreateInstance(plugin.Type); newInstance.Initialise(); InputList newItem = new InputList { Id = pluginToAdd.Id, Name = pluginToAdd.Name, InstanceId = Guid.NewGuid(), Plugin = newInstance }; AddedInputPlugins.Add(newItem); }
public void BindPosition() { if (!Assignments.ContainsKey(selectedJoint)) { Assignments.Add(selectedJoint, new Assignment()); } Assignment ass = Assignments[selectedJoint]; //ass.Plugin = SelectedSensor; ICoalesceInputPlugin plugin = AddedInputPlugins.First(x => x.InstanceId == SelectedSensor.Parent).Plugin; ass.PluginDetails = plugin.GetDetails(); ass.PluginName = plugin.GetDetails().ShortName; ass.SensorName = SelectedSensor.SensorName; ass.SensorKey = SelectedSensor.Parent + "-" + SelectedSensor.Id; ass.SensorId = SelectedSensor.Id; ass.PluginId = ass.PluginDetails.Id; ass.PluginInstance = SelectedSensor.Parent; CurrentSelectedJointPlugin = ass.PluginName; CurrentSelectedJointSensor = ass.SensorName; }