コード例 #1
0
        //
        /// <summary>
        /// get train data by dataID
        /// </summary>
        static public string GetData(int dataID)
        {
            //SPEED, POWER, BRAKE, REVERSER, SIGNAL, SIGNAL_DISTANCE, SPEED_LIMIT
            switch (dataID)
            {
            case SPEED:
                return(TrainMethods.GetSpeed().ToString());

            case POWER:
                return(TrainMethods.GetPower().ToString());

            case BRAKE:
                return(TrainMethods.GetBrake().ToString());

            case REVERSER:
                return(TrainMethods.GetReverser().ToString());

            case SIGNAL:
                return(TrainMethods.GetSignal().ToString());

            case SIGNAL_DISTANCE:
                return(TrainMethods.GetSignalDis().ToString());

            case SPEED_LIMIT:
                return(TrainMethods.GetSpeedLimit().ToString());

            case RC_MODE:
                return(TrainMethods.GetConstSpeed() == 0 ? NORMAL.ToString() : OVERWRITE.ToString());
            }
            return(trainData[dataID].ToString());
        }
コード例 #2
0
        private void tmrUpdate_Tick(object sender, EventArgs e)
        {
            try
            {
                //invoke the TrainManager to throw a error
                TrainManager.Train trainInfo = TrainManager.PlayerTrain;
                txtBoxReserver.Text    = "REV : " + TrainMethods.GetReverser().ToString();
                txtBoxSignal.Text      = "SIG : " + TrainMethods.GetSignal().ToString();
                txtBoxSignalDis.Text   = "SIG_DIS : " + TrainMethods.GetSignalDis().ToString();
                txtBoxSpeed.Text       = "SPD : " + TrainMethods.GetSpeed().ToString();
                txtBoxSpdLimit.Text    = "SPD_LIM : " + TrainMethods.GetSpeedLimit().ToString();
                txtBoxBrakeHandle.Text = "BKE : " + TrainMethods.GetBrake().ToString();
                txtBoxPowerHandle.Text = "PWR : " + trainInfo.Handles.Power.Driver.ToString();
                txtBoxConstSpeed.Text  = "CON_SPD : " + TrainMethods.GetConstSpeed().ToString();
                //
                btnBack.Enabled      = true;
                btnDown.Enabled      = true;
                btnFor.Enabled       = true;
                btnHornSt.Enabled    = true;
                btnNeu.Enabled       = true;
                btnUp.Enabled        = true;
                btnAPOFF.Enabled     = true;
                btnAPON.Enabled      = true;
                btnEmeOn.Enabled     = true;
                btnEmeOff.Enabled    = true;
                btnKeyLock.Enabled   = true;
                btnKeyUnlock.Enabled = true;
            }
            catch (Exception ex)
            {
                //continue
                btnBack.Enabled      = false;
                btnDown.Enabled      = false;
                btnFor.Enabled       = false;
                btnHornSt.Enabled    = false;
                btnNeu.Enabled       = false;
                btnUp.Enabled        = false;
                btnAPOFF.Enabled     = false;
                btnAPON.Enabled      = false;
                btnEmeOn.Enabled     = false;
                btnEmeOff.Enabled    = false;
                btnKeyLock.Enabled   = false;
                btnKeyUnlock.Enabled = false;
            }

            if (SerialPort.GetPortNames().Length > cmbSerials.Items.Count)
            {
                cmbSerials.Items.Clear();
                cmbSerials.Items.AddRange(SerialPort.GetPortNames());
                cmbSerials.SelectedIndex = this.cmbSerials.Items.Count - 1;
            }

            if (SerialPort.GetPortNames().Length == 0)
            {
                btnRead.Enabled     = false;
                btnStopRead.Enabled = false;
                cmbSerials.Items.Clear();
            }
        }