Beispiel #1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="model">The player model</param>
 /// <param name="goals">The goal container</param>
 /// <param name="playerReset">The function to call when the player needs reset</param>
 public GoalController(PlayerModel model, GoalContainerModel goals, IReset playerReset)
 {
     _player      = model;
     _goals       = goals;
     _playerReset = playerReset;
     _playerReset.MoveFinished += Player_MoveFinished;
 }
Beispiel #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="contentManager">Content manager</param>
        /// <param name="spriteBatch">Sprite batch</param>
        /// <param name="goals">Goal model</param>
        public GoalView(ContentManager contentManager, SpriteBatch spriteBatch, GoalContainerModel goals)
            : base(contentManager, spriteBatch)
        {
            var blocksTexture = contentManager.Load <Texture2D>("blocks");

            _blocks = new SpriteSheet(blocksTexture, spriteBatch, 16, 16);
            _goals  = goals;
        }
Beispiel #3
0
        public override void Enter(params object[] args)
        {
            _screen      = new RenderTarget2D(StateMachine.Game.GraphicsDevice, 224, 256);
            _spriteBatch = new SpriteBatch(StateMachine.Game.GraphicsDevice);

            var resetForNewGame = true;

            if (args.Length > 0 && args[0] is bool)
            {
                resetForNewGame = (bool)args[0];
            }

            if (resetForNewGame)
            {
                _playerModel = new PlayerModel();
            }
            else
            {
                _playerModel.ResetAfterLevel();
            }

            var goals = new GoalContainerModel();

            _views.Add(new BackgroundView(StateMachine.Game.Content, _spriteBatch));
            _views.Add(new ScoreView(StateMachine.Game.Content, _spriteBatch, _playerModel));

            _views.Add(new FrogPositionView(StateMachine.Game.Content, _spriteBatch, _playerModel));
            _views.Add(new GoalView(StateMachine.Game.Content, _spriteBatch, goals));

            var playerController = new PlayerController(_playerModel);

            _controllers.Add(playerController);
            _controllers.Add(new GoalController(_playerModel, goals, playerController));
            _controllers.Add(new HomeAnimationController(goals));

            var bulldozerRowModel = new VehicleRowModel(BulldozerFactory.CreateFirstStage(), 32);
            var racingCarRowModel = new VehicleRowModel(RacingCarFactory.CreateFirstStage(), 0, 128, VehicleGhost.NoGhost, VehicleDirection.LeftToRight, 2);
            var sedanCarRowModel  = new VehicleRowModel(GenericCarFactory.CreateFirstStage(), 0, 32, VehicleGhost.Ghost, VehicleDirection.RightToLeft);
            var duneBuggyRowModel = new VehicleRowModel(GenericCarFactory.CreateFirstStage(y: 208, frame: 9), 0, 32, VehicleGhost.Ghost, VehicleDirection.RightToLeft);
            var trucksRowModel    = new VehicleRowModel(TruckFactory.CreateFirstStage(), 0, 36, VehicleGhost.Ghost, VehicleDirection.RightToLeft);
            var models            = new[] { bulldozerRowModel, racingCarRowModel, sedanCarRowModel, duneBuggyRowModel, trucksRowModel };

            var vehicleView = new VehicleView(StateMachine.Game.Content, _spriteBatch, models);

            _views.Add(vehicleView);

            var vehicleController = new VehicleController(_playerModel, playerController, models);

            _controllers.Add(vehicleController);

            var riverRow1   = new RiverRowModel(LogFactory.CreateRow1FirstStage(), 0, 36, VehicleDirection.LeftToRight, new Rectangle(0, 48, 216, 16));
            var riverRow2   = new RiverRowModel(LogFactory.CreateRow2FirstStage(), 0, 36, VehicleDirection.RightToLeft, new Rectangle(0, 64, 216, 16));
            var riverRow3   = new RiverRowModel(LogFactory.CreateRow3FirstStage(), 64, 36, VehicleDirection.LeftToRight, new Rectangle(0, 80, 216, 16));
            var riverRow4   = new RiverRowModel(LogFactory.CreateRow4FirstStage(), 0, 36, VehicleDirection.RightToLeft, new Rectangle(0, 96, 216, 16));
            var riverRow5   = new RiverRowModel(LogFactory.CreateRow5FirstStage(), 32, 36, VehicleDirection.LeftToRight, new Rectangle(0, 112, 216, 16));
            var riverModels = new[] { riverRow1, riverRow2, riverRow3, riverRow4, riverRow5 };

            var riverView = new VehicleView(StateMachine.Game.Content, _spriteBatch, riverModels);

            _views.Add(riverView);
            var riverController = new RiverObjectController(_playerModel, playerController, riverModels);

            _controllers.Add(riverController);

            _views.Add(new PlayerView(StateMachine.Game.Content, _spriteBatch, _playerModel));
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="goals">The goal container model</param>
 public HomeAnimationController(GoalContainerModel goals)
 {
     _goals           = goals;
     _currentCooldown = _cooldownPeriod;
 }