public void HideAllExcept(PanelToggleButton panelButton) { foreach (var pb in PanelButtons.Where(x => x != panelButton)) { pb.Panel.gameObject.SetActive(false); } }
/// <summary> /// Processes the panel button press. /// </summary> /// <param name="e">The <see cref="LaJust.PowerMeter.Communications.Hardware.DataPacketReceivedEventArgs"/> instance containing the event data.</param> private void Publish_PanelButtonPress(byte ButtonCode) { PanelButtons panelButton = (PanelButtons)ButtonCode; Trace.TraceInformation("{0}.Process_PanelButtonPress: Keypad Button={1}", CLASSNAME, panelButton); ThreadPool.QueueUserWorkItem(delegate { OnPanelButtonPressed(new PanelButtonEventData() { Receiver = this, Button = panelButton } ); }); }
/// <summary> /// Handles the PanelButtonPressed event of the Receiver control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="LaJust.PowerMeter.Communications.PanelButtonEventArgs"/> instance containing the event data.</param> private void Receiver_PanelButtonPressed(object sender, PanelButtonEventData e) { IReceiver receiver = e.Receiver; PanelButtons button = e.Button; // Used to keep monitor from going into suspend when we have receiver activity Helpers.ActivitySimulator.MoveMouse(); _logger.Log("Publishing receiver button pushed event to EventAggregator", Category.Info, Priority.Low); _eventAggregator.GetEvent <ReceiverEvents.ButtonPressed>().Publish( (ReceiverEvents.PanelButtons)Enum.Parse(typeof(ReceiverEvents.PanelButtons), button.ToString(), true)); // FIXME: Move this code to the game engine module bool contactSensorRequired = _config.ContactSensorRequired; if (button == PanelButtons.ChungRegister) { receiver.RegisterDevice(new RegistrationSettings() { TouchSensorMode = contactSensorRequired ? TouchSensorStatusEnum.Required : TouchSensorStatusEnum.NotRequired, OpCode = OpCodeCmds.RegisterChung, GameNumber = 1, MinimumPressure = 10 }); } else if (button == PanelButtons.HongRegister) { receiver.RegisterDevice(new RegistrationSettings() { TouchSensorMode = contactSensorRequired ? TouchSensorStatusEnum.Required : TouchSensorStatusEnum.NotRequired, OpCode = OpCodeCmds.RegisterHong, GameNumber = 1, MinimumPressure = 10 }); } else if (button == PanelButtons.HongWin) // Temporary code { receiver.RegisterDevice(new RegistrationSettings() { TouchSensorMode = contactSensorRequired ? TouchSensorStatusEnum.Required : TouchSensorStatusEnum.NotRequired, OpCode = OpCodeCmds.RegisterTarget, GameNumber = 1, MinimumPressure = 10 }); } }
/// <summary> /// Called when a button is pressed on the receiver. /// </summary> /// <param name="button">The receiver button pressed.</param> protected void OnReceiverButtonPress(PanelButtons button) { switch (button) { case PanelButtons.Start: if (!this.StopWatchService.IsRunning) { this.StopWatchService.StartCountDown(); } break; case PanelButtons.Clocking: if (this.StopWatchService.IsRunning) { this.StopWatchService.PauseCountDown(); } else { this.StopWatchService.Duration = this.AppConfigService.Settings.RoundDuration; this.ScoreKeeperService.ResetScores(); } break; case PanelButtons.ChungRegister: case PanelButtons.HongRegister: this.registerDeviceRequest.Publish(new RegistrationSettings() { GameNumber = 1, MinimumPressure = 30, OperationCode = (button == PanelButtons.ChungRegister) ? OpCodeCmds.RegisterChung : OpCodeCmds.RegisterHong, TouchSensorMode = this.AppConfigService.Settings.ContactSensorRequired ? TouchSensorStatusEnum.Required : TouchSensorStatusEnum.NotRequired }); break; case PanelButtons.HongWin: this.registerDeviceRequest.Publish(new RegistrationSettings() { GameNumber = 1, MinimumPressure = 30, OperationCode = OpCodeCmds.RegisterTarget, TouchSensorMode = this.AppConfigService.Settings.ContactSensorRequired ? TouchSensorStatusEnum.Required : TouchSensorStatusEnum.NotRequired }); break; } this.RefreshToolbar(); }
public RIOT(Controller CtrlA, Controller CtrlB) { m_Clocks = 0xCD; // Riot gains a random start position m_Timer = 0x7FFF; // Timer is reset m_DDRA = 0x00; // Initially, everything is a read m_DDRB = 0x00; // ONLY HOLDS DATA! This might also mask data m_OUTA = 0x00; // Only A allows output m_OUTB = 0x00; // THIS MIGHT BE DEPRECIATED, since the port is read only m_IRQ = 0x00; // No events have occured, but they could later m_Edge = 0; // Interrupt occurs on a negitive edge m_Shift = 10; // There is no inverval shift m_Clocks = 0; // RIOT Timing m_Panel = PanelButtons.Reset | PanelButtons.Color | PanelButtons.Select; m_CtrlA = CtrlA; // Start off with dummy controllers, these do nothing m_CtrlB = CtrlB; // but return OFF states, only player one gets an IRQ }
private GameObject GetCurrentActivePanel() { return(PanelButtons.Select(p => p.Panel) .FirstOrDefault(p => p.activeSelf)); }
public void AlterPanel(PanelButtons toggle, PanelButtons release, PanelButtons press) { m_Panel ^= toggle; m_Panel |= release; m_Panel &= ~press; }