Esempio n. 1
0
        public void ButtonProcessor(int buttonID)
        {
            if (processorIsInstalled)
            {
                //A much better kOSProcessor cycler.
                if (buttonID == processorSelectorUpButton)
                {
                    current_processor_id--;

                    if (current_processor_id == -1)
                    {
                        current_processor_id = processors.Count - 1;
                    }

                    if (isLocked)
                    {
                        ToggleLock();
                    }
                }
                else if (buttonID == processorSelectorDownButton)
                {
                    current_processor_id++;

                    if (current_processor_id == processors.Count)
                    {
                        current_processor_id = 0;
                    }

                    if (isLocked)
                    {
                        ToggleLock();
                    }
                }

                //Connect Button
                else if (buttonID == connectButton)
                {
                    ToggleLock();
                }

                //Arrow Buttons
                else if (buttonID == upButton)
                {
                    upButtonState = !upButtonState;
                    if (upButtonDelegate != null)
                    {
                        upButtonDelegate.CallWithArgsPushedAlready();
                    }
                }
                else if (buttonID == downButton)
                {
                    downButtonState = !downButtonState;
                    if (downButtonDelegate != null)
                    {
                        downButtonDelegate.CallWithArgsPushedAlready();
                    }
                }
                else if (buttonID == leftButton)
                {
                    leftButtonState = !leftButtonState;
                    if (leftButtonDelegate != null)
                    {
                        leftButtonDelegate.CallWithArgsPushedAlready();
                    }
                }
                else if (buttonID == rightButton)
                {
                    rightButtonState = !rightButtonState;
                    if (rightButtonDelegate != null)
                    {
                        rightButtonDelegate.CallWithArgsPushedAlready();
                    }
                }

                //Enter and Cancel
                else if (buttonID == enterButton)
                {
                    enterButtonState = !enterButtonState;
                    if (enterButtonDelegate != null)
                    {
                        enterButtonDelegate.CallWithArgsPushedAlready();
                    }
                }
                else if (buttonID == cancelButton)
                {
                    cancelButtonState = !cancelButtonState;
                    if (cancelButtonDelegate != null)
                    {
                        cancelButtonDelegate.CallWithArgsPushedAlready();
                    }
                }

                //Power Toggle Button
                else if (buttonID == toggleProcessorPowerButton)
                {
                    //Set power state from SharedObjects
                    isPowered = processor_shares[current_processor_id].Window.IsPowered;
                    processors[current_processor_id].TogglePower();
                }

                //Programmable Buttons
                ProcessProgramButton(buttonID);
            }
        }