상속: MonoBehaviour
        private void _PopulateController(OutputController controller, XElement element)
        {
            controller.ModuleDataSet = _GetModuleData(element);

            int outputIndex = 0;

            foreach (XElement outputElement in element.Element(ELEMENT_OUTPUTS).Elements(ELEMENT_OUTPUT))
            {
                // Data persisted in the controller instance may exceed the
                // output count.
                if (outputIndex >= controller.OutputCount)
                {
                    break;
                }

                // The outputs were created when the output count was set.
                OutputController.Output output = controller.Outputs[outputIndex];

                output.Name = outputElement.Attribute(ATTR_NAME).Value;

                controller.ClearPostFilters(outputIndex);
                IEnumerable <XElement> filterElements = outputElement.Element(ELEMENT_FILTERS).Elements(ELEMENT_FILTER);
                foreach (XElement filterElement in filterElements)
                {
                    Guid typeId     = Guid.Parse(filterElement.Attribute(ATTR_TYPE_ID).Value);
                    Guid instanceId = Guid.Parse(filterElement.Attribute(ATTR_INSTANCE_ID).Value);
                    IPostFilterModuleInstance filter = Modules.ModuleManagement.GetPostFilter(typeId);
                    filter.InstanceId = instanceId;
                    controller.AddPostFilter(outputIndex, filter);
                }

                outputIndex++;
            }
        }
예제 #2
0
        private void buttonUnpatchControllers_Click(object sender, EventArgs e)
        {
            foreach (KeyValuePair <IControllerDevice, HashSet <int> > controllerAndOutput in _cachedControllersAndOutputs)
            {
                OutputController controller = controllerAndOutput.Key as OutputController;
                if (controller == null)
                {
                    continue;
                }

                foreach (int i in controllerAndOutput.Value)
                {
                    IDataFlowComponent outputComponent = controller.GetDataFlowComponentForOutput(controller.Outputs[i]);
                    if (outputComponent == null)
                    {
                        continue;
                    }

                    VixenSystem.DataFlow.ResetComponentSource(outputComponent);
                }
            }

            OnPatchingUpdated();
            _UpdateEverything(_cachedElementNodes, _cachedControllersAndOutputs);
        }
예제 #3
0
        private void buttonSelectSourceElements_Click(object sender, EventArgs e)
        {
            List <ElementNode> elementNodesToSelect = new List <ElementNode>();

            foreach (KeyValuePair <IControllerDevice, HashSet <int> > controllerAndOutputs in SelectedControllersAndOutputs)
            {
                OutputController oc = controllerAndOutputs.Key as OutputController;
                if (oc == null)
                {
                    continue;
                }

                foreach (int i in controllerAndOutputs.Value)
                {
                    IDataFlowComponent outputComponent = oc.GetDataFlowComponentForOutput(oc.Outputs[i]);
                    IDataFlowComponent rootComponent   = FindRootSourceOfDataComponent(outputComponent);

                    if (rootComponent is ElementDataFlowAdapter)
                    {
                        Element     element     = (rootComponent as ElementDataFlowAdapter).Element;
                        ElementNode elementNode = VixenSystem.Elements.GetElementNodeForElement(element);
                        if (elementNode != null)
                        {
                            elementNodesToSelect.Add(elementNode);
                        }
                    }
                }
            }

            MasterForm.SelectElements(elementNodesToSelect, true);
        }
예제 #4
0
        private void buttonUnpatchControllers_Click(object sender, EventArgs e)
        {
            int patchedCount = Convert.ToInt32(labelPatchedOutputCount.Text);
            if (patchedCount > 20)
            {
                string message = string.Format("Are you sure you want to unpatch {0} patch points?", patchedCount);
                //messageBox Arguments are (Text, Title, No Button Visible, Cancel Button Visible)
                MessageBoxForm.msgIcon = SystemIcons.Question; //this is used if you want to add a system icon to the message form.
                var messageBox = new MessageBoxForm(message, "Unpatch Controllers?", true, false);
                messageBox.ShowDialog();
                if (messageBox.DialogResult == DialogResult.No)
                    return;
            }

            foreach (KeyValuePair<IControllerDevice, HashSet<int>> controllerAndOutput in _cachedControllersAndOutputs) {
                OutputController controller = controllerAndOutput.Key as OutputController;
                if (controller == null)
                    continue;

                foreach (int i in controllerAndOutput.Value) {
                    IDataFlowComponent outputComponent = controller.GetDataFlowComponentForOutput(controller.Outputs[i]);
                    if (outputComponent == null)
                        continue;

                    VixenSystem.DataFlow.ResetComponentSource(outputComponent);
                }
            }

            OnPatchingUpdated();
            _UpdateEverything(_cachedElementNodes, _cachedControllersAndOutputs, false);
        }
예제 #5
0
파일: Export.cs 프로젝트: naztrain/vixen
 public ControllerExportInfo(OutputController controller, int index)
 {
     Name = controller.Name;
     Index = index;
     Channels = controller.OutputCount;
     Id = controller.Id;
 }
예제 #6
0
        private void buttonDeleteController_Click(object sender, EventArgs e)
        {
            string message, title;

            if (listViewControllers.SelectedItems.Count > 1)
            {
                message = "Are you sure you want to delete the selected controllers?";
                title   = "Delete Controllers?";
            }
            else
            {
                message = "Are you sure you want to delete the selected controller?";
                title   = "Delete Controller?";
            }

            if (listViewControllers.SelectedItems.Count > 0)
            {
                //messageBox Arguments are (Text, Title, No Button Visible, Cancel Button Visible)
                MessageBoxForm.msgIcon = SystemIcons.Question;                 //this is used if you want to add a system icon to the message form.
                var messageBox = new MessageBoxForm(message, title, false, true);
                messageBox.ShowDialog();
                if (messageBox.DialogResult == DialogResult.OK)
                {
                    foreach (ListViewItem item in listViewControllers.SelectedItems)
                    {
                        OutputController oc = item.Tag as OutputController;
                        VixenSystem.OutputControllers.Remove(oc);
                    }
                    _PopulateControllerList();

                    //we deleted at least one controller so set changes made = true
                    _changesMade = true;
                }
            }
        }
예제 #7
0
파일: Controller.cs 프로젝트: robness/Vixen
 public Controller(OutputController controller)
 {
     Id        = controller.Id;
     Name      = controller.Name;
     IsRunning = controller.IsRunning;
     IsPaused  = controller.IsPaused;
 }
예제 #8
0
파일: Export.cs 프로젝트: komby/vixen
 public ControllerExportInfo(OutputController controller, int index)
 {
     Name     = controller.Name;
     Index    = index;
     Channels = controller.OutputCount;
     Id       = controller.Id;
 }
예제 #9
0
        private void buttonDeleteController_Click(object sender, EventArgs e)
        {
            string message, title;

            if (listViewControllers.SelectedItems.Count > 1)
            {
                message = "Are you sure you want to delete the selected controllers?";
                title   = "Delete Controllers?";
            }
            else
            {
                message = "Are you sure you want to delete the selected controller?";
                title   = "Delete Controller?";
            }

            if (listViewControllers.SelectedItems.Count > 0)
            {
                if (MessageBox.Show(message, title, MessageBoxButtons.OKCancel) == DialogResult.OK)
                {
                    foreach (ListViewItem item in listViewControllers.SelectedItems)
                    {
                        OutputController oc = item.Tag as OutputController;
                        VixenSystem.OutputControllers.Remove(oc);
                    }
                    _PopulateControllerList();

                    //we deleted at least one controller so set changes made = true
                    _changesMade = true;
                }
            }
        }
예제 #10
0
        private void buttonAddController_Click(object sender, EventArgs e)
        {
            List <KeyValuePair <string, object> > outputModules = new List <KeyValuePair <string, object> >();

            foreach (KeyValuePair <Guid, string> kvp in ApplicationServices.GetAvailableModules <IControllerModuleInstance>())
            {
                outputModules.Add(new KeyValuePair <string, object>(kvp.Value, kvp.Key));
            }
            Common.Controls.ListSelectDialog addForm = new Common.Controls.ListSelectDialog("Add Controller", (outputModules));
            if (addForm.ShowDialog() == DialogResult.OK)
            {
                IModuleDescriptor moduleDescriptor  = ApplicationServices.GetModuleDescriptor((Guid)addForm.SelectedItem);
                string            name              = moduleDescriptor.TypeName;
                ControllerFactory controllerFactory = new ControllerFactory();
                OutputController  oc = (OutputController)controllerFactory.CreateDevice((Guid)addForm.SelectedItem, name);
                VixenSystem.OutputControllers.Add(oc);
                // In the case of a controller that has a form, the form will not be shown
                // until this event handler completes.  To make sure it's in a visible state
                // before evaluating if it's running or not, we're calling DoEvents.
                // I hate DoEvents calls, so if you know of a better way...
                Application.DoEvents();

                // select the new controller, and then repopulate the list -- it will make sure the currently
                // displayed controller is selected.
                _PopulateFormWithController(oc);
                _PopulateControllerList();

                //We added a controller so set the _changesMade to true
                _changesMade = true;
            }
        }
예제 #11
0
        public object Read(string filePath)
        {
            // This is just a pass-through now.
            // Keeping it around so that serialization to/from a file can be done predictably.
            XElement element = Helper.LoadXml(filePath);

            return(OutputController.ReadXml(element));
        }
예제 #12
0
        public void ResultViewBagProjectsNotNull()//проверка Projects контейнера ViewBag метода Projects на пустоту
        {
            OutputController controller = new OutputController();

            ViewResult result = controller.Projects() as ViewResult;

            Assert.IsNotNull(result.ViewBag.Projects);
        }
예제 #13
0
 public Controller(OutputController controller, int index)
 {
     Name     = controller.Name;
     Index    = index;
     Channels = controller.OutputCount;
     Id       = controller.Id;
     IsActive = true;
 }
 private XElement _CreateModuleDataContent(OutputController controller)
 {
     if (controller.OutputModule != null)
     {
         return(controller.OutputModule.ModuleDataSet.ToXElement());
     }
     return(null);
 }
예제 #15
0
 private XElement _WriteOutputs(OutputController controller)
 {
     return(new XElement(ELEMENT_OUTPUTS,
                         controller.Outputs.Select((x, index) =>
                                                   new XElement(ELEMENT_OUTPUT,
                                                                new XAttribute(ATTR_NAME, x.Name),
                                                                new XAttribute(ATTR_DEVICE_ID, x.Id)))));
 }
예제 #16
0
        public void ResultViewBagEmployeesNotNull()//проверка Employees контейнера ViewBag метода Employees на пустоту
        {
            OutputController controller = new OutputController();

            ViewResult result = controller.Employees() as ViewResult;

            Assert.IsNotNull(result.ViewBag.Employees);
        }
예제 #17
0
        public void TaskViewResultNotNull()//проверка результата метода EmployeesinProjects на пустоту
        {
            OutputController controller = new OutputController();

            ViewResult result = controller.Tasks() as ViewResult;

            Assert.IsNotNull(result);
        }
예제 #18
0
 public MoneyInteface(OutputController output, ContextController context, CountryController country, MoneyController money, TimeController time)
 {
     _out     = output;
     _context = context;
     _country = country;
     _money   = money;
     _time    = time;
 }
예제 #19
0
        public void IndexViewResultNotNull()//проверка результата метода Index на пустоту
        {
            OutputController controller = new OutputController();

            ViewResult result = controller.Index() as ViewResult;

            Assert.IsNotNull(result);
        }
예제 #20
0
        // DESCRIPTION:
        // * Returns the name of the controller state, for templating purposes.

        // Mutators

        public void setControllerState(OutputController state)
        {
            if (getControllerState() != state)
            {
                _controllerState = state;
                _stateChangeCount++;
            }
        }
 public Autopilot(Task t, PIDSetup pidSetup)
 {
     PIDSetup = pidSetup;
     Navigation = NavigationState.EnRoute;
     Actions = Actions.None;
     Task = t;
     Output = new OutputController(pidSetup);
     IsTruePositionWithinRadius = false;
 }
예제 #22
0
 private void buttonSend_Click(object sender, EventArgs e)
 {
     if (!SerialController.portOpen)
     {
         MessageBox.Show("Press \"start\" first!");
         return;
     }
     OutputController.SendStateToSerial(state);
 }
예제 #23
0
        public void Write(string filePath, object value)
        {
            OutputController controller = (OutputController)value;
            // This is just a pass-through now.
            // Keeping it around so that serialization to/from a file can be done predictably.
            XElement doc = OutputController.WriteXml(controller);

            doc.Save(filePath);
        }
예제 #24
0
    public static void PrintOutput(OutputController.Role role, String str)
    {
        OutputController[] outputs;
        outputs = GameObject.Find ("IOController").GetComponents<OutputController>();

        foreach (OutputController outputController in outputs) {
            if (outputController.role == role) {
                outputController.outputString = str;
            }
        }
    }
예제 #25
0
 public MapInterface(
     CountryController country, MapController map, DiscoveryController discovery, OutputController output, ContextController context
     )
 {
     _country   = country;
     _map       = map;
     _discovery = discovery;
     _out       = output;
     _context   = context;
     ResetPosition();
 }
예제 #26
0
 public FreeModeInterface(
     GameSettings settings, OutputController output, ContextController context,
     CountryController country, MapController map, TimeController time
     )
 {
     _settings = settings;
     _out      = output;
     _context  = context;
     _country  = country;
     _map      = map;
     _time     = time;
 }
예제 #27
0
 public ArmyInterface(
     CountryController country, PopulationController population, ArmyController army,
     InputController input, OutputController output, ContextController context
     )
 {
     _country    = country;
     _population = population;
     _army       = army;
     _input      = input;
     _out        = output;
     _context    = context;
 }
예제 #28
0
        public OutputView()
        {
            InitializeComponent();
            Ctrl = new OutputController(this);

            CrosstalkFactors = new List <TextBox>();
            CrosstalkSignals = new List <ComboBox>();
            CrosstalkLabels  = new List <Label>();

            TriggerTimer          = new Timer();
            TriggerTimer.Interval = 100;
            TriggerTimer.Tick    += new EventHandler(delegate(object sender, EventArgs e) { checkBoxTriggerOn.Checked = false; });
        }
예제 #29
0
        public XElement WriteObject(IOutputDevice value)
        {
            OutputController controller = (OutputController)value;

            XElement element = new XElement(ELEMENT_CONTROLLER,
                                            new XAttribute(ATTR_NAME, controller.Name),
                                            new XAttribute(ATTR_HARDWARE_ID, controller.ModuleId),
                                            new XAttribute(ATTR_HARDWARE_INSTANCE_ID, controller.ModuleInstanceId),
                                            new XAttribute(ATTR_DEVICE_ID, controller.Id),
                                            _WriteOutputs(controller));

            return(element);
        }
        private OutputController _ReadController(XElement element)
        {
            string name           = element.Attribute(ATTR_NAME).Value;
            Guid   outputModuleId = new Guid(element.Attribute(ATTR_HARDWARE_ID).Value);
            int    outputCount    = int.Parse(element.Attribute(ATTR_OUTPUT_COUNT).Value);
            Guid   id             = Guid.Parse(element.Attribute(ATTR_ID).Value);

            OutputController controller = new OutputController(id, name, outputCount, outputModuleId);

            _PopulateController(controller, element);

            return(controller);
        }
예제 #31
0
            private void OnEnable()
            {
                help             = GameObject.Find("Help").GetComponent <HelpModalWindow>();
                inputController  = GameObject.Find("IOController").GetComponent <InputController>();
                outputController = GameObject.Find("IOController").GetComponent <OutputController>();
                windowManager    = GameObject.Find("VoxWorld").GetComponent <ModalWindowManager>();
                buttonManager    = GameObject.Find("VoxWorld").GetComponent <UIButtonManager>();

                if (cursorToggleAllowed)
                {
                    Screen.lockCursor = false;
                    Cursor.visible    = true;
                }
            }
예제 #32
0
파일: GameLogics.cs 프로젝트: KonH/TheKing
 public GameLogics(
     InputController input,
     OutputController output,
     ContextController context,
     CountryController country,
     TimeController time
     )
 {
     _input   = input;
     _out     = output;
     _context = context;
     _country = country;
     _time    = time;
 }
예제 #33
0
 public ConquestInterface(
     ContextController context, InputController input, OutputController output, CountryController country,
     MapController map, DiscoveryController discovery, ArmyController army, ConquestController conquest
     )
 {
     _context   = context;
     _input     = input;
     _out       = output;
     _country   = country;
     _map       = map;
     _discovery = discovery;
     _army      = army;
     _conquest  = conquest;
 }
예제 #34
0
 public SequenceBuffer(ISequence sequence, OutputController[] controllers)
 {
     _sequence = sequence;
     // Get a reference to the controllers that the sequence references for
     // notification purposes.
     _controllers = controllers;
     // For each controller to be referenced by this buffer, create a list of incoming and
     // outgoing updates.
     foreach(OutputController controller in controllers) {
         for(int i = 0; i < controller.OutputCount; i++) {
             // An output without a state will have CommandData.IsEmpty == true.
             _outBuffer[new ControllerReference(controller.Id, i)] = default(CommandData);
         }
     }
 }
예제 #35
0
		private void _PopulateFormWithController(OutputController oc)
		{
			_displayedController = oc;

			if (oc == null) {
				textBoxName.Text = string.Empty;
				numericUpDownOutputCount.Value = 0;
				buttonDeleteController.Enabled = false;
				groupBoxSelectedController.Enabled = false;
			}
			else {
				textBoxName.Text = oc.Name;
				numericUpDownOutputCount.Value = oc.OutputCount;
				buttonDeleteController.Enabled = true;
				groupBoxSelectedController.Enabled = true;
			}
		}
예제 #36
0
 public ConfigControllers()
 {
     InitializeComponent();
     _displayedController = null;
 }
예제 #37
0
 public ConfigControllers()
 {
     InitializeComponent();
     Icon = Resources.Icon_Vixen3;
     _displayedController = null;
 }
 public override void CopyFrom(Shape source)
 {
     base.CopyFrom(source);
     if (source is OutputShape) {
         OutputShape src = (OutputShape) source;
         _controller = src.Controller;
         _output = src.Output;
         _CopyControlPointsFrom(src);
     }
 }
 public void SetController(OutputController controller)
 {
     _controller = controller;
     _recalcControlPoints();
 }
예제 #40
0
		public ConfigControllersOutputs(OutputController controller)
		{
			InitializeComponent();
			Icon = Resources.Icon_Vixen3;
			_controller = controller;
		}
예제 #41
0
    private void OnEnable()
    {
        initialPosition = transform.position;
        initialRotation = transform.eulerAngles;

        help = GameObject.Find ("Help").GetComponent<Help> ();
        inputController = GameObject.Find ("IOController").GetComponent<InputController> ();
        outputController = GameObject.Find ("IOController").GetComponent<OutputController> ();
        inspector = GameObject.Find ("BlocksWorld").GetComponent<VoxemeInspector> ();
        windowManager = GameObject.Find ("BlocksWorld").GetComponent<ModalWindowManager> ();

        if (cursorToggleAllowed)
        {
            Screen.lockCursor = false;
            Cursor.visible = true;
        }
    }
 public ConfigControllersOutputs(OutputController controller)
 {
     InitializeComponent();
     _controller = controller;
 }