public Camera(ViewportAdapter viewportAdapter) { ViewportAdapter = viewportAdapter; MinimumZoom = 1f; MaximumZoom = 3f; Zoom = 1f; }
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)); }
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 }; }
//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); } }
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); }
/// <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(); }
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(); }
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); }
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(); }
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(); }
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); }
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); }
/// <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>(); }
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; }
public AbstractGuiButton(ViewportAdapter viewportAdapter, String name) { ViewportAdapter = viewportAdapter; Name = name; InputDown = false; _previousInputDown = false; }
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; }
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); }
public InteractionSystem(ViewportAdapter viewportAdapter = null) : base(Aspect .All(typeof(Interaction2DComponent), typeof(Transform2DComponent))) { _viewportAdapter = viewportAdapter; current_pressedButtons = Array.Empty <MouseButtons>(); prev_pressedButtons = Array.Empty <MouseButtons>(); }
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); }
/// <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(); }
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); }
protected override void Initialize() { _viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, 1024, 768); _camera = new OrthographicCamera(_viewportAdapter); Window.AllowUserResizing = true; base.Initialize(); }
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>(); } }
/// <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(); }
public Camera2D(ViewportAdapter viewportAdapter) { _viewportAdapter = viewportAdapter; Rotation = 0; Zoom = 1; Origin = new Vector2(viewportAdapter.VirtualWidth / 2f, viewportAdapter.VirtualHeight / 2f); Position = Vector2.Zero; }
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(); }
public SpriterGuiButton( ViewportAdapter viewportAdapter, String buttonName, String spritePartCompleteFilename, CustomSpriterAnimator animator, CustomSpriterAnimator referenceAnimator) : base(viewportAdapter, buttonName) { SubstituteEntity = new SpriterSubstituteEntity(Path.GetFileName(spritePartCompleteFilename), referenceAnimator, animator); }