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(); }),
public TrainLookaheadRenderer(IGameBoard gameBoard, IPixelMapper pixelMapper, ITrackParameters parameters, ITrainPainter painter, ITimer gameTimer) { _gameBoard = gameBoard; _pixelMapper = pixelMapper; _parameters = parameters; _painter = painter; _gameTimer = gameTimer; }
public TrainRenderer(ITrackParameters trackParameters, ITrainParameters trainParameters, ITrainPainter trainPainter) { _trackParameters = trackParameters; _trainParameters = trainParameters; _trainPainter = trainPainter; }
public TrainLookaheadRenderer(IGameBoard gameBoard, IGameParameters gameParameters, ITrainPainter painter) { _gameBoard = gameBoard; _gameParameters = gameParameters; _painter = painter; }
public TrainLookaheadRenderer(IGameBoard gameBoard, ITrainPainter painter) { _gameBoard = gameBoard; _painter = painter; }
public TrainRenderer(IGameParameters gameParameters, ITrainParameters trainParameters, ITrainPainter trainPainter) { _gameParameters = gameParameters; _trainParameters = trainParameters; _trainPainter = trainPainter; }