Exemple #1
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);
        }
Exemple #2
0
        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.");
        }
    }