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); }
protected override void Initialize() { graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 640; Window.Title = "Rocket Simulator"; view = new WindowViewportAdapter(Window, GraphicsDevice); cam = new Camera2D(view); earth = new Earth(new Vector2D(500, 6371300), Color.ForestGreen, 8192); Vehicle temp = new F9S1("Booster", null, new Vector2D(500, 255), new Vector2D(0, 0), earth, Color.White); vehicles.Add(new F9S2Dragon("S2Dragon", temp, new Vector2D(500, 215), new Vector2D(0, 0), earth, Color.White)); vehicles.Add(temp); vehicles[1].child = vehicles[0]; vehicles[0].offset = new Vector2D(0, -16); base.Initialize(); }
public Option <IControlViewportAdapter> GetControlViewportAdapter(ViewportOptions viewportOptions) { switch (viewportOptions) { case NewWindowViewportOptions newWindowViewportOptions: var windowSize = newWindowViewportOptions.DesiredWindowSize; var window = new Window() { Width = windowSize.Width, Height = windowSize.Height }; var viewportAdapter = new WindowViewportAdapter(window); return(viewportAdapter.Some <IControlViewportAdapter>()); case StandardViewportOptions standardViewportOptions: return(GetExistingStandardViewportAdapter(standardViewportOptions)); default: throw new ArgumentOutOfRangeException(nameof(viewportOptions), $"No code to handle {viewportOptions.GetType()} viewport options."); } }