private void ModeSwitch_Checked(object sender, RoutedEventArgs e) { if (_currentMode == WorkspaceMode.Idle) //idle mode is neve checked _currentMode = WorkspaceMode.JoinMode; switch (_currentMode) { case WorkspaceMode.JoinMode: _addJoinsEnabled = true; _joinItemCandidate = null; Workspace.ScaffoldModeEnabled = false; break; case WorkspaceMode.ScaffoldMode: Workspace.ScaffoldModeEnabled = true; _addJoinsEnabled = false; _joinItemCandidate = null; break; default: throw new NotImplementedException("Workspace mode"); } ModeSwitch.Content = Modes[(int)_currentMode - 1]; }
private void setMode(WorkspaceMode mode) { if (_currentMode == mode) { //nothing to change return; } if (mode == WorkspaceMode.Idle) { _currentMode = WorkspaceMode.LastMode; ModeSwitch.IsChecked = false; return; } if (!ModeSwitch.IsChecked.Value) { _currentMode = mode; ModeSwitch.IsChecked = true; return; } _currentMode = mode - 1; ModeSwitch.IsChecked = false; }
private void ModeSwitch_Unchecked(object sender, RoutedEventArgs e) { _addJoinsEnabled = false; if (_joinItemCandidate != null) { _joinItemCandidate.IsHighlighted = false; } _joinItemCandidate = null; Workspace.ScaffoldModeEnabled = false; var nextMode = (int)(_currentMode + 1); if (nextMode >= (int)WorkspaceMode.LastMode) { nextMode = 0; } _currentMode = (WorkspaceMode)nextMode; if (_currentMode == WorkspaceMode.Idle) { ModeSwitch.Content = Modes[0]; } else { //recheck the switch ModeSwitch.IsChecked = true; } }
private void Awake() { Part = GetComponent <MonoPart>(); RootPort = (MonoPort)Part?.RootPort; if (Part == null || RootPort == null) { Debug.LogWarning($"This GameObject {this.name} isn't a complete weapon part, this agent will be disabled."); this.enabled = false; } //if (Part.Type == PartType.Reciever) //{ // currentMode = new ReceiverMode(this); //} //else { workspaceMode = new WorkspaceMode(this); partlistMode = new PartListMode(this); currentMode = partlistMode; } }