Example #1
0
 public Camera(ViewportAdapter viewportAdapter)
 {
     ViewportAdapter = viewportAdapter;
     MinimumZoom     = 1f;
     MaximumZoom     = 3f;
     Zoom            = 1f;
 }
Example #2
0
        private Vector2 GetTouchPoint(TouchLocation touchLocation)
        {
            var point = ViewportAdapter?.PointToScreen((int)touchLocation.Position.X, (int)touchLocation.Position.Y)
                        ?? touchLocation.Position.ToPoint();

            return(new Vector2(point.X, point.Y));
        }
Example #3
0
        public GuiSystem(ViewportAdapter viewportAdapter, IGuiRenderer renderer)
        {
            _viewportAdapter = viewportAdapter;
            _renderer        = renderer;

            _mouseListener                  = new MouseListener(viewportAdapter);
            _mouseListener.MouseMoved      += (s, e) => OnPointerMoved(GuiPointerEventArgs.FromMouseArgs(e));
            _mouseListener.MouseDown       += (s, e) => OnPointerDown(GuiPointerEventArgs.FromMouseArgs(e));
            _mouseListener.MouseUp         += (s, e) => OnPointerUp(GuiPointerEventArgs.FromMouseArgs(e));
            _mouseListener.MouseWheelMoved += (s, e) => _focusedControl?.OnScrolled(e.ScrollWheelDelta);

            _touchListener = new TouchListener(viewportAdapter);
            _touchListener.TouchStarted += (s, e) => OnPointerDown(GuiPointerEventArgs.FromTouchArgs(e));
            _touchListener.TouchMoved   += (s, e) => OnPointerMoved(GuiPointerEventArgs.FromTouchArgs(e));
            _touchListener.TouchEnded   += (s, e) => OnPointerUp(GuiPointerEventArgs.FromTouchArgs(e));

            _keyboardListener             = new KeyboardListener();
            _keyboardListener.KeyTyped   += (sender, args) => _focusedControl?.OnKeyTyped(this, args);
            _keyboardListener.KeyPressed += (sender, args) => _focusedControl?.OnKeyPressed(this, args);

            Screens = new GuiScreenCollection(this)
            {
                ItemAdded = InitializeScreen
            };
        }
Example #4
0
        //protected override void Initialize()
        //{
        //    base.Initialize();

        //    _graphicsDeviceManager.IsFullScreen = true;
        //    _graphicsDeviceManager.PreferredBackBufferWidth = GraphicsDevice.DisplayMode.Width;
        //    _graphicsDeviceManager.PreferredBackBufferHeight = GraphicsDevice.DisplayMode.Height;
        //    _graphicsDeviceManager.ApplyChanges();
        //}

        protected override void LoadContent()
        {
            _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480);
            _font            = Content.Load <BitmapFont>("Fonts/montserrat-32");

            _camera = new OrthographicCamera(_viewportAdapter);
            //_explosionAnimations = Content.Load<SpriteSheetAnimationFactory>("explosion-animations");

            _spriteBatch = new SpriteBatch(GraphicsDevice);

            _backgroundTexture = Content.Load <Texture2D>("black");

            var bulletTexture = Content.Load <Texture2D>("laserBlue03");
            var bulletRegion  = new TextureRegion2D(bulletTexture);

            _bulletFactory = new BulletFactory(_entityManager, bulletRegion);

            SpawnPlayer(_bulletFactory);

            _meteorFactory = new MeteorFactory(_entityManager, Content);

            for (var i = 0; i < 13; i++)
            {
                _meteorFactory.SpawnNewMeteor(_player.Position);
            }
        }
Example #5
0
 public DisplayTarget(EngineReference engineRef, GameWindow window, GraphicsDeviceManager graphics)
 {
     this.engineRef       = engineRef;
     this.graphics        = graphics;
     this.spriteBatch     = new SpriteBatch(graphics.GraphicsDevice);
     this.ViewportAdapter = new ViewportAdapter(window, graphics.GraphicsDevice, 256, 240);
 }
Example #6
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, WINDOW_WIDTH, WINDOW_HEIGHT);
            _camera          = new Camera2D(_viewportAdapter)
            {
                MinimumZoom = 1f,
                MaximumZoom = 3f,
                Zoom        = 3f
            };

            ComponentManager.Instance
            .InitializeComponents(this)
            .Register(_camera)
            .Build();

            _inputHandler  = ComponentManager.Instance.GetInstance <InputHandler>();
            _cameraHandler = new CameraHandler(_camera, _inputHandler);

            _componentSubject = new ComponentSubject();
            _componentSubject.AddComponent(new FpsCounterAdvanced())
            .AddComponent(new Cursor())
            .AddComponent <WorldComponent>()
            .AddComponent(new Player());

            _cameraHandler.LookAt(_componentSubject.Player);

            Window.AllowUserResizing = true;
            Window.Position          = Point.Zero;
            Window.Title             = $"Window: ({WINDOW_WIDTH}, {WINDOW_HEIGHT}) | Mouse visibility: {CURSOR_VISIBILITY}";

            base.Initialize();
        }
Example #7
0
        public SpriterGuiButton(
            ViewportAdapter viewportAdapter,
            String buttonName,
            String spritePartCompleteFilename,
            CustomSpriterAnimator animator,
            CustomSpriterAnimator referenceAnimator,
            string animationName          = null,
            string clickAnimationName     = null,
            string inputDownSoundName     = null,
            string inputUpSoundName       = null,
            bool stopAnimationWhenClicked = false,
            string timelineName           = null) :
            base(viewportAdapter, buttonName)
        {
            SubstituteEntity    = new SpriterSubstituteEntity(Path.GetFileName(spritePartCompleteFilename), referenceAnimator, animator, timelineName);
            _animationName      = animationName;
            _clickAnimationName = clickAnimationName;

            _inputDownSoundName       = inputDownSoundName;
            _inputUpSoundName         = inputUpSoundName;
            _stopAnimationWhenClicked = stopAnimationWhenClicked;

            if (_animationName != null)
            {
                SubstituteEntity.SubstituteAnimator.Play(_animationName);
            }

            Reset();
        }
Example #8
0
 public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter, Camera2D camera2D)
 {
     spriteBatch.Draw(background, Vector2.Zero, Color.White);
     bubbleGrid.Draw(spriteBatch);
     spriteBatch.DrawString(font, "Score: " + score.GameScore, new Vector2(50, 50), Color.White);
     spriteBatch.DrawString(font, "Current Batch: " + score.ScoreOfCurrentBatch(bubbleGrid.NumberOfActivatedBubbles(), level), new Vector2(50, 100), Color.White);
 }
Example #9
0
        internal void Draw(SpriteBatch spriteBatch)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: ViewportAdapter.GetScaleMatrix());

            Controls.Draw(spriteBatch);

            var imgMinimap             = Controls["frmHudView.frmMinimap.imgMinimap"];
            var minimapViewedRectangle = MinimapHandler.GetViewedRectangle(WorldView, imgMinimap.Size);

            minimapViewedRectangle.X += imgMinimap.Left;
            minimapViewedRectangle.Y += imgMinimap.Top;

            spriteBatch.DrawRectangle(minimapViewedRectangle, Color.White);
            spriteBatch.DrawPoint(minimapViewedRectangle.Center.ToVector2(), Color.White);

            var font = AssetsManager.Instance.GetSpriteFont("CrimsonText-Regular-12");

            var frmUnits            = Controls["frmHudView.frmUnits"];
            var frmUnitsTopLeft     = frmUnits.TopLeft;
            var frmUnitsBottomRight = frmUnits.BottomRight;
            var hexPoint            = WorldView.Camera.ScreenPixelToWorldHex(Input.MousePosition); // get tile mouse is over

            DrawUnits(spriteBatch, StackViews, SelectedStackView, frmUnitsTopLeft, frmUnitsBottomRight, WorldView.GetActionButtons);
            DrawNotifications(spriteBatch, font, WorldView.NotificationList);
            DrawTileInfo(spriteBatch, font, 10.0f, Area.Height * 0.96f, WorldView.CellGrid, hexPoint);

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);
            var debugMode = SceneManager.Instance.DebugMode;

            // Draw the background
            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, Vector2.Zero, Color.White);
            spriteBatch.End();

            // Draw the camera (with the map)
            MapManager.Instance.Draw(_camera, spriteBatch);

            spriteBatch.Begin(transformMatrix: _camera.GetViewMatrix(), samplerState: SamplerState.PointClamp);

            // Draw the crystal
            _crystal.Draw(spriteBatch);
            if (debugMode)
            {
                _crystal.DrawCollider(spriteBatch);
            }

            // Draw the player
            _player.DrawCharacter(spriteBatch);
            if (debugMode)
            {
                _player.DrawColliderBox(spriteBatch);
            }

            // Draw the enemies
            _enemies.ForEach(enemy => enemy.DrawCharacter(spriteBatch));
            if (debugMode)
            {
                _enemies.ForEach(enemy => enemy.DrawColliderBox(spriteBatch));
            }

            // Draw the projectiles
            foreach (var projectile in _projectiles)
            {
                projectile.Draw(spriteBatch);
                if (debugMode)
                {
                    spriteBatch.Draw(_projectilesColliderTexture, projectile.BoundingBox, Color.White * 0.5f);
                }
            }

            // Draw the particles
            _particleEffects.ForEach(particle => spriteBatch.Draw(particle));

            spriteBatch.End();

            // Draw the HUD and Wave Clear
            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);

            spriteBatch.DrawString(SceneManager.Instance.GameFontBig, WaveClearText, _waveClearPosition + 1 * Vector2.UnitY, Color.Black * _waveClearAlpha);
            spriteBatch.DrawString(SceneManager.Instance.GameFontBig, WaveClearText, _waveClearPosition, Color.White * _waveClearAlpha);
            _gameHud.Draw(spriteBatch);

            spriteBatch.End();
        }
Example #11
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);
            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);

            // Background and Logo
            spriteBatch.Draw(_backgroundSprite);
            spriteBatch.Draw(_logoSprite);

            if (_phase == PressAnyButtonPhase)
            {
                spriteBatch.DrawString(SceneManager.Instance.GameFont, "Press Any Button", _pressAnyButtonPosition, _menuItemColor);
            }
            else if (_phase == MenuPhase)
            {
                // Menu
                for (var i = 0; i < _menuOptions.Length; i++)
                {
                    spriteBatch.DrawString(SceneManager.Instance.GameFont, _menuOptions[i],
                                           new Vector2(25, _menuY + (i * SceneManager.Instance.GameFont.LineHeight)), _menuItemColor);
                }
                spriteBatch.Draw(_menuIcon);
            }

            spriteBatch.End();
        }
Example #12
0
        public Scene(string name, AvocadoGame game)
        {
            Game            = game;
            Name            = name;
            graphicsDevice  = game.GraphicsDevice;
            Content         = new ContentManager(game.Services);
            BackgroundColor = Color.Black;

            var             settings = Game.GameSettings;
            ViewportAdapter adapter  = null;

            switch (settings.ViewportType)
            {
            case ViewportType.Default:
                adapter = new DefaultViewportAdapter(Game.GraphicsDevice);
                break;

            case ViewportType.Scaling:
                adapter = new ScalingViewportAdapter(game.GraphicsDevice, settings.VirtualResolution.X, settings.VirtualResolution.Y);
                break;

            case ViewportType.Window:
                adapter = new WindowViewportAdapter(game.Window, graphicsDevice);
                break;
            }
            Camera = new Camera(adapter);

            EntityManager    = new EntityManager(this);
            CollisionManager = new CollisionManager(this);
            BehaviorManager  = new BehaviorManager(this);
            RenderManager    = new RenderManager(this, graphicsDevice);
        }
Example #13
0
        private void SetupViewport(int x, int y, int width, int height)
        {
            var context = CallContext <GlobalContextPresentation> .GetData("GlobalContextPresentation");

            _viewport        = new Viewport(x, y, width, height, 0.0f, 1.0f);
            _viewportAdapter = new ScalingViewportAdapter(context.GraphicsDevice, width, height);
        }
Example #14
0
 /// <summary>
 /// Constructor. Uses MonoGame.Extended ViewportAdapter
 /// </summary>
 /// <param name="game"></param>
 /// <param name="sb"></param>
 /// <param name="vp"></param>
 public DragonDrop(Game game, ViewportAdapter vp) : base(game)
 {
     viewport     = vp;
     selectedItem = default(T);
     dragItems    = new List <T>();
     mouseItems   = new List <T>();
 }
Example #15
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, Vector2.Zero, Color.White);
            spriteBatch.End();
        }
 public AbstractCameraTracker(ViewportAdapter viewPort, IFocusAble following)
 {
     Camera = new Camera2D(viewPort)
     {
         Zoom = CameraZoom
     };
     Following = following;
 }
Example #17
0
        public AbstractGuiButton(ViewportAdapter viewportAdapter, String name)
        {
            ViewportAdapter = viewportAdapter;
            Name            = name;

            InputDown          = false;
            _previousInputDown = false;
        }
Example #18
0
 public TouchEventArgs(ViewportAdapter viewportAdapter, TimeSpan time, TouchLocation location)
 {
     ViewportAdapter  = viewportAdapter;
     RawTouchLocation = location;
     Time             = time;
     Position         = viewportAdapter?.PointToScreen((int)location.Position.X, (int)location.Position.Y)
                        ?? location.Position.ToPoint();
 }
 protected AbstractCameraTracker(ViewportAdapter viewPort, IFocusAble following)
 {
     Camera = new Camera2D(viewPort)
     {
         Zoom = CameraZoomBaseValue
     };
     Following = following;
 }
Example #20
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter, Camera2D camera)
        {
            Vector2 titleSize = font.MeasureString("BUBBLE POP");
            Vector2 tipSize   = font.MeasureString("Click or tap to start");

            spriteBatch.DrawString(font, "BUBBLE POP", new Vector2(Constants.WORLD_WIDTH / 2 - titleSize.X / 2, 100), Color.White);
            spriteBatch.DrawString(font, "Click or tap to start", new Vector2(Constants.WORLD_WIDTH / 2 - tipSize.X / 2, 500), Color.White);
        }
Example #21
0
        public InteractionSystem(ViewportAdapter viewportAdapter = null) : base(Aspect
                                                                                .All(typeof(Interaction2DComponent), typeof(Transform2DComponent)))
        {
            _viewportAdapter = viewportAdapter;

            current_pressedButtons = Array.Empty <MouseButtons>();
            prev_pressedButtons    = Array.Empty <MouseButtons>();
        }
Example #22
0
 public override void LoadContent()
 {
     _viewportAdapter = new BoxingViewportAdapter(Game.Window, GraphicsDevice, 640, 480);
     //var viewportAdapter = new DefaultViewportAdapter(GraphicsDevice);
     _camera = new OrthographicCamera(_viewportAdapter);
     // Create a new SpriteBatch, which can be used to draw textures.
     _spriteBatch = new SpriteBatch(GraphicsDevice);
 }
Example #23
0
 /// <summary>
 /// Allows the game to perform any initialization it needs to before starting to run.
 /// This is where it can query for any required services and load any non-graphic
 /// related content.  Calling base.Initialize will enumerate through any components
 /// and initialize them as well.
 /// </summary>
 protected override void Initialize()
 {
     // TODO: Add your initialization logic here
     viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, screenWidth * 2, screenHeight * 2);
     mapRenderer     = new TiledMapRenderer(GraphicsDevice);
     camera          = new Camera2D(viewportAdapter);
     position        = new Vector2(1200, 900);
     base.Initialize();
 }
Example #24
0
        protected override void LoadContent()
        {
            _viewportAdapter   = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480);
            _camera            = new Camera2D(_viewportAdapter);
            _backgroundTexture = Content.Load <Texture2D>("vignette");
            _bitmapFont        = Content.Load <BitmapFont>("montserrat-32");

            _spriteBatch = new SpriteBatch(GraphicsDevice);
        }
Example #25
0
        protected override void Initialize()
        {
            _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 1024, 768);
            _camera          = new OrthographicCamera(_viewportAdapter);

            Window.AllowUserResizing = true;

            base.Initialize();
        }
Example #26
0
        protected override void Initialize()
        {
            ViewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, GameConfig.VirtualResolution.X, GameConfig.VirtualResolution.Y);

            Camera       = new Camera(this, ViewportAdapter);
            MusicManager = new MusicManager();

            SpriteBatchManager.Initialize();

            base.Initialize();

            Pause = false;

            GameManager.Initialize();

            // Input manager
            Components.Add(new InputManager(this));

            // Animation and tweening
            var animationComponent = new AnimationComponent(this);

            Components.Add(animationComponent);
            Components.Add(new TweeningComponent(this, animationComponent));

            // GUI
            GuiManager = new GuiManager(this);

            PerformanceManager.Initialize();

            // Player data
#if ANDROID
            ISharedPreferences prefs = AndroidActivity.GetSharedPreferences("XmasHell", FileCreationMode.Private);
            var androidPreferences   = new AndroidPreferences(prefs);
            PlayerData = new PlayerData.PlayerData(androidPreferences);
#elif LINUX
            var desktopPreferences = new DesktopPreferences();
            PlayerData = new PlayerData.PlayerData(desktopPreferences);
#endif

            // Screens
            ScreenManager = new ScreenManager(this);

            if (GameConfig.DebugScreen)
            {
                ScreenManager.AddScreen(new DebugScreen(this));

                ScreenManager.GoTo <DebugScreen>();
            }
            else
            {
                ScreenManager.AddScreen(new MainMenuScreen(this));
                ScreenManager.AddScreen(new BossSelectionScreen(this));
                ScreenManager.AddScreen(new GameScreen(this));

                ScreenManager.GoTo <MainMenuScreen>();
            }
        }
Example #27
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 800, 480);
            _camera          = new Camera2D(_viewportAdapter);

            TestMap = Content.Load <TiledMap>("Assets/Maps/LocomotionTest");

            base.Initialize();
        }
Example #28
0
        public Camera2D(ViewportAdapter viewportAdapter)
        {
            _viewportAdapter = viewportAdapter;

            Rotation = 0;
            Zoom     = 1;
            Origin   = new Vector2(viewportAdapter.VirtualWidth / 2f, viewportAdapter.VirtualHeight / 2f);
            Position = Vector2.Zero;
        }
Example #29
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, Vector2.Zero, Color.White);
            spriteBatch.Draw(_gameTitleTexture, _titlePosition + _titlePositionFloat * Vector2.UnitY, Color.White);
            spriteBatch.DrawString(SceneManager.Instance.GameFont, PressAnyKeyText, _pressAnyKeyPosition, Color.White * _pressAnyKeyAlpha);
            spriteBatch.End();
        }
Example #30
0
 public SpriterGuiButton(
     ViewportAdapter viewportAdapter,
     String buttonName,
     String spritePartCompleteFilename,
     CustomSpriterAnimator animator,
     CustomSpriterAnimator referenceAnimator) :
     base(viewportAdapter, buttonName)
 {
     SubstituteEntity = new SpriterSubstituteEntity(Path.GetFileName(spritePartCompleteFilename), referenceAnimator, animator);
 }