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];
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }