Exemplo n.º 1
0
        public TrainInfoScreen(ITrainManager trainManager, IGameManager gameManager, IGameBoard gameBoard, ITrainParameters trainParameters, ITrainPainter trainPainter)
        {
            _trainManager          = trainManager;
            _gameManager           = gameManager;
            _gameBoard             = gameBoard;
            _trainParameters       = trainParameters;
            _trainPainter          = trainPainter;
            _trainManager.Changed += (s, e) =>
            {
                this.Visible = _trainManager.CurrentTrain is not null;
                OnChanged();
            };
            _gameManager.Changed += (s, e) => OnChanged();
            _trainManager.CurrentTrainPropertyChanged += (s, e) => OnChanged();

            _controlButton = new MultiButton(20, new ButtonBase[]
            {
                CreateButton(Picture.Backward, () => false, () => _trainManager.CurrentTrain?.Slower()),
                CreateButton(Picture.Play, () => _trainManager.CurrentTrain?.Stopped != true, () => _trainManager.CurrentTrain?.Start()),
                CreateButton(Picture.Pause, () => _trainManager.CurrentTrain?.Stopped == true, () => _trainManager.CurrentTrain?.Stop()),
                CreateButton(Picture.Forward, () => false, () => _trainManager.CurrentTrain?.Faster()),
            });

            _actionButton = new MultiButton(20, new ButtonBase[]
            {
                CreateButton(Picture.Eye, () => _trainManager.CurrentTrain?.Follow ?? false, () => _trainManager.ToggleFollow(_trainManager.CurrentTrain !)),
                CreateButton(Picture.Trash, () => false, () =>
                {
                    _gameBoard.RemoveMovable(_trainManager.CurrentTrain !);
                    Close();
                }),
Exemplo n.º 2
0
 public TrainLookaheadRenderer(IGameBoard gameBoard, IPixelMapper pixelMapper, ITrackParameters parameters, ITrainPainter painter, ITimer gameTimer)
 {
     _gameBoard   = gameBoard;
     _pixelMapper = pixelMapper;
     _parameters  = parameters;
     _painter     = painter;
     _gameTimer   = gameTimer;
 }
Exemplo n.º 3
0
 public TrainRenderer(ITrackParameters trackParameters, ITrainParameters trainParameters, ITrainPainter trainPainter)
 {
     _trackParameters = trackParameters;
     _trainParameters = trainParameters;
     _trainPainter    = trainPainter;
 }
Exemplo n.º 4
0
 public TrainLookaheadRenderer(IGameBoard gameBoard, IGameParameters gameParameters, ITrainPainter painter)
 {
     _gameBoard      = gameBoard;
     _gameParameters = gameParameters;
     _painter        = painter;
 }
Exemplo n.º 5
0
 public TrainLookaheadRenderer(IGameBoard gameBoard, ITrainPainter painter)
 {
     _gameBoard = gameBoard;
     _painter   = painter;
 }
Exemplo n.º 6
0
 public TrainRenderer(IGameParameters gameParameters, ITrainParameters trainParameters, ITrainPainter trainPainter)
 {
     _gameParameters  = gameParameters;
     _trainParameters = trainParameters;
     _trainPainter    = trainPainter;
 }