Esempio n. 1
0
        public Test(VirtualResolution virtualResolution, DrawMap drawMap, Movement movement, Camera camera, IRenderer renderer, IAssetLoader assetLoader, SpriteBatch spriteBatch, GameDate gameDate)
        {
            _camera      = camera;
            _spriteBatch = spriteBatch;
            RegisterSystem(drawMap.UpdateWindTrailTime);
            RegisterSystem(drawMap.DrawMapBuffers);
            RegisterSystem(drawMap.SetSubRenderer);
            RegisterSystem(drawMap.DrawMaskBuffer);
            RegisterSystem(drawMap.DrawMaskEntities);
            RegisterSystem(drawMap.DrawFringeBuffer);
            RegisterSystem(drawMap.DrawFringeEntities);
            RegisterSystem(drawMap.FinaliseRender);

            //RegisterSystem(drawMap.DebugDrawCollidableEntities, 999);

            //RegisterSystem(camera.DebugDraw, 999);
            //RegisterSystem(DebugDrawHtml, 1000);

            RegisterSystem(movement.ProcessMovement, 0);

            test = new WebView(renderer, assetLoader, spriteBatch,
                               virtualResolution.MaxWidth, virtualResolution.MaxHeight,
                               "file://content/ui/html/test.html");

            gameDate.DisableTimeFlow();
        }
Esempio n. 2
0
        public ScreenshotHandler(GameState gameState, IRenderer renderer, VirtualResolution virtualResolution,
                                 GraphicsDevice graphicsDevice, SpriteBatch spriteBatch, IAssetLoader assetLoader)
        {
            _gameState         = gameState;
            _renderer          = renderer;
            _virtualResolution = virtualResolution;
            _graphicsDevice    = graphicsDevice;
            _spriteBatch       = spriteBatch;

            _font = assetLoader.Get <DynamicSpriteFont>("ui/fonts/ubuntu.ttf");
        }
Esempio n. 3
0
        public WaterDisplacementFilter(IRenderer renderer, SpriteBatch spriteBatch, VirtualResolution virtualResolution, Effect effect, Texture2D displaceA, Texture2D displaceB)
        {
            _renderer          = renderer;
            _spriteBatch       = spriteBatch;
            _virtualResolution = virtualResolution;

            _textureParam     = effect.Parameters["Texture"];
            _offsetParam      = effect.Parameters["offset"];
            _pixelWidthParam  = effect.Parameters["pixWidth"];
            _pixelHeightParam = effect.Parameters["pixHeight"];

            effect.Parameters["texDisplace"].SetValue(displaceA);
            effect.Parameters["texDisplace2"].SetValue(displaceB);
            effect.Parameters["maxDisplace"].SetValue(8f);
            effect.Parameters["water"].SetValue(new Vector4(0.01568628F, 0.172549F, 0.2235294F, 1.0f));

            _effectPass = effect.CurrentTechnique.Passes[0];
        }
Esempio n. 4
0
        public WaterFilter(IRenderer renderer, SpriteBatch spriteBatch, Camera camera, Effect effect, Texture2D noiseA, Texture2D noiseB, VirtualResolution virtualResolution)
        {
            _renderer          = renderer;
            _spriteBatch       = spriteBatch;
            _camera            = camera;
            _virtualResolution = virtualResolution;

            _scaleParam       = effect.Parameters["scale"];
            _pixelWidthParam  = effect.Parameters["pixWidth"];
            _pixelHeightParam = effect.Parameters["pixHeight"];
            _offsetAParam     = effect.Parameters["offsetA"];
            _offsetBParam     = effect.Parameters["offsetB"];
            _cameraPosParam   = effect.Parameters["cameraPos"];

            var noiseAParam = effect.Parameters["texNoiseA"];

            noiseAParam.SetValue(noiseA);

            var noiseBParam = effect.Parameters["texNoiseB"];

            noiseBParam.SetValue(noiseB);

            var contrastParam = effect.Parameters["contrast"];

            contrastParam.SetValue(0.75f);

            var stepParam = effect.Parameters["step"];

            stepParam.SetValue(6);

            var waterColorParam = effect.Parameters["water"];

            waterColorParam.SetValue(new Vector4(0.03529411764f, 0.3725490196f, 0.47843137254f, 1.0f));

            var highlightWaterParam = effect.Parameters["highlightWater"];

            highlightWaterParam.SetValue(new Vector4(0.37647058823f, 0.70588235294f, 0.84705882352f, 1.0f));

            _effectPass = effect.CurrentTechnique.Passes[0];
        }
 /// <summary>
 /// Determine if two <see cref="LayoutingContext"/> are equals.
 /// </summary>
 /// <param name="other">the other context</param>
 /// <returns><value>True</value> if the two contexts are equals</returns>
 public bool Equals(LayoutingContext other)
 {
     return(RealResolution.Equals(other.RealResolution) && VirtualResolution.Equals(other.VirtualResolution));
 }
Esempio n. 6
0
        public DrawMap(GameState gameState, IOverworld overworld, VirtualResolution virtualResolution, SpriteBatch spriteBatch, IRenderer renderer, IAssetLoader assetLoader, Camera camera, Primitive primitive, GameDate gameDate)
        {
            _random = new Random();

            _overworld         = overworld;
            _virtualResolution = virtualResolution;
            _spriteBatch       = spriteBatch;
            _renderer          = renderer;
            _assetLoader       = assetLoader;
            _camera            = camera;
            _primitive         = primitive;

            _tempTileMap  = _assetLoader.Get <Texture2D>("debug/outmap.png");
            _superTileset = _assetLoader.Get <Texture2D>("debug/supertileset.png");

            _tileMapFilter = new TilemapFilter(_renderer, _spriteBatch,
                                               _assetLoader.Get <Effect>("shaders/tilemap.fx"), 16);
            _tileMapFilter.SetSuperTileset(_superTileset);
            _tileMapFilter.SetTileMapTexture(_tempTileMap);

            _waterReflectionFilter = new WaterReflectionFilter(_renderer, _spriteBatch,
                                                               _assetLoader.Get <Effect>("shaders/water_reflection.fx"));

            _waterFilter = new WaterFilter(_renderer, _spriteBatch, _camera,
                                           _assetLoader.Get <Effect>("shaders/water.fx"),
                                           _assetLoader.Get <Texture2D>("ui/noise.png"),
                                           _assetLoader.Get <Texture2D>("ui/noise2.png"), _virtualResolution);

            _waterDisplacementFilter = new WaterDisplacementFilter(_renderer, _spriteBatch, _virtualResolution,
                                                                   _assetLoader.Get <Effect>("shaders/displace.fx"),
                                                                   _assetLoader.Get <Texture2D>("ui/displacement.png"),
                                                                   _assetLoader.Get <Texture2D>("ui/displacement2.png"));

            _dayNightFilter = new DayNightFilter(_renderer, _spriteBatch, gameDate,
                                                 _assetLoader.Get <Effect>("shaders/average.fx"),
                                                 _assetLoader.Get <Effect>("shaders/color.fx"),
                                                 new List <(float, Texture2D)>()
            {
                (0, assetLoader.Get <Texture2D>("luts/daycycle1.png")),
                (0.1875f, assetLoader.Get <Texture2D>("luts/daycycle1.png")),
                (0.208334f, assetLoader.Get <Texture2D>("luts/daycycle2.png")),
                (0.30208333f, assetLoader.Get <Texture2D>("luts/daycycle3.png")),
                (0.41667f, assetLoader.Get <Texture2D>("luts/daycycle4.png")),
                (0.46f, assetLoader.Get <Texture2D>("luts/daycycle5.png")),
                (0.54f, assetLoader.Get <Texture2D>("luts/daycycle5.png")),
                (0.58333f, assetLoader.Get <Texture2D>("luts/daycycle6.png")),
                (0.6875f, assetLoader.Get <Texture2D>("luts/daycycle7.png")),
                (0.7708333f, assetLoader.Get <Texture2D>("luts/daycycle8.png")),
                (0.82291667f, assetLoader.Get <Texture2D>("luts/daycycle9.png")),
                (0.90625f, assetLoader.Get <Texture2D>("luts/daycycle10.png"))
            });

            CreateRenderTargets();

            _windTrail = new GameObject();
            CAnimation windTrailAnimation;

            _windTrail.Components.Add(new CPosition(Vector2.Zero));
            _windTrail.Components.Add(new CSprite(assetLoader.Get <Texture2D>("ui/windtrail.png"), Vector2.Zero));
            _windTrail.Components.Add(windTrailAnimation = new CAnimation()
            {
                Loop = false, OnComplete = OnComplete
            });
            windTrailAnimation.AddAnimation("effect", new List <AnimationFrame>()
            {
                new AnimationFrame(new Rectangle(0, 0, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 64, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 128, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 192, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 256, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 320, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 384, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 448, 512, 54), 0.07f),
                new AnimationFrame(new Rectangle(0, 512, 512, 54), 0.07f),
            });
            _windTrail.Components.Add(new CFringeEntity {
                Opacity = 0.15f
            });

            gameState.Stage.GameObjects.Add(_windTrail);
        }