예제 #1
0
        public void ChargeCommand(ChargeCommand.Commands command)
        {
            switch (command)
            {
            case FireSafety.ChargeCommand.Commands.PressureX1:
                // Увеличить давление на 1
                turret.Pressure(1);
                break;

            case FireSafety.ChargeCommand.Commands.PressureX2:
                // Увеличить давление на 2
                turret.Pressure(2);
                break;

            case FireSafety.ChargeCommand.Commands.Refuel:
                Refuel();
                break;

            case FireSafety.ChargeCommand.Commands.Charge:
                turret.Charge();
                break;

            default:
                break;
            }
        }
예제 #2
0
        public Action(MoveCommand.Commands moveCommand     = MoveCommand.Commands.None,
                      ChargeCommand.Commands chargeCommand = ChargeCommand.Commands.None,
                      TurretCommand.Commands turretCommand = TurretCommand.Commands.None)
        {
            commands = new Command[(int)Types.Count];

            commands[(int)Types.Move]   = new MoveCommand(moveCommand);
            commands[(int)Types.Charge] = new ChargeCommand(chargeCommand);
            commands[(int)Types.Turret] = new TurretCommand(turretCommand);
        }
        private static void DgvAlgorithm_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
        {
            DataGridViewRow row = ((DataGridView)sender).Rows[e.RowIndex];

            // Собираем команды с добавленного DataGridViewRow
            MoveCommand.Commands   moveCommand   = Utilities.ToMoveCommand(row.Cells[1].Value.ToString());
            ChargeCommand.Commands chargeCommand = Utilities.ToChargeCommand(row.Cells[2].Value.ToString());
            TurretCommand.Commands turretCommand = Utilities.ToTurretCommand(row.Cells[3].Value.ToString());

            // Добавляем Action в соответствующий алгоритм танка
            Action action = new Action(moveCommand, chargeCommand, turretCommand);

            ParallelAlgorithm.GetInstance().InsertAction((int)((DataGridView)sender).Tag, action, e.RowIndex);
        }
예제 #4
0
        public static string ToChargeString(ChargeCommand.Commands value)
        {
            switch (value)
            {
            case ChargeCommand.Commands.PressureX1:
                return(Properties.Resources.ChargeCommandPressure1);

            case ChargeCommand.Commands.PressureX2:
                return(Properties.Resources.ChargeCommandPressure2);

            case ChargeCommand.Commands.Charge:
                return(Properties.Resources.ChargeCommandCharge);

            case ChargeCommand.Commands.Refuel:
                return(Properties.Resources.ChargeCommandRefuel);

            case ChargeCommand.Commands.None:
                return(Properties.Resources.ChargeCommandNone);
            }

            throw new Exception($"Строкового представления {value} в перечислении ChargeCommand.Commands не существует.");
        }