private async Task FetchScenes()
        {
            var rnd = new Random();

            string scenesPath = @"C:\Users\fnkta\Documents\Scenes";

            points = new List <Point>()
            {
                new Point(3500, 3500, 20),
                new Point(3750, 3750, 20),
                new Point(5000, 5000, 20),
            };

            var scenes = await _dataService.GetScenesAsync(scenesPath, points);

            Scenes = new SceneCollection();

            foreach (var scene in scenes)
            {
                var mappedScene = _mapper.Map <Model.Scene>(scene);

                await Task.Run(async() => await Task.Delay(TimeSpan.FromSeconds(rnd.Next(1, 4))));

                Scenes.Add(mappedScene);
            }

            //FillTimeLine();

            //await _dbService.InsertSceneRangeAsync(Scenes.ToList());
        }
示例#2
0
        /// <summary>
        /// The add scene.
        /// </summary>
        /// <param name="scene">
        /// The scene.
        /// </param>
        public static void AddScene(Scene scene)
        {
            scene.Visible = false;

            scenes.Add(scene);

            if (scene.TopMost && vd == null)
            {
                // set up the vertices and add the effect
                overlayVertexArray = new VertexPositionColor[4];

                overlayVertexArray[0] =
                    new VertexPositionColor(
                        new Vector3(
                            -game.GraphicsDevice.Viewport.Width / 2.0f,
                            -game.GraphicsDevice.Viewport.Height / 2.0f,
                            0.0f),
                        Color.TransparentBlack);
                overlayVertexArray[1] =
                    new VertexPositionColor(
                        new Vector3(
                            -game.GraphicsDevice.Viewport.Width / 2.0f, game.GraphicsDevice.Viewport.Height / 2.0f, 0.0f),
                        Color.TransparentBlack);
                overlayVertexArray[2] =
                    new VertexPositionColor(
                        new Vector3(
                            game.GraphicsDevice.Viewport.Width / 2.0f, -game.GraphicsDevice.Viewport.Height / 2.0f, 0.0f),
                        Color.TransparentBlack);
                overlayVertexArray[3] =
                    new VertexPositionColor(
                        new Vector3(
                            game.GraphicsDevice.Viewport.Width / 2.0f, game.GraphicsDevice.Viewport.Height / 2.0f, 0.0f),
                        Color.TransparentBlack);

                vd = new VertexDeclaration(game.GraphicsDevice, VertexPositionColor.VertexElements);

                vb = new VertexBuffer(game.GraphicsDevice, VertexPositionColor.SizeInBytes * 4, BufferUsage.None);
                vb.SetData(overlayVertexArray);

                Vector4 overlayColor = Color.Black.ToVector4();
                overlayColor.W = 0.85f;

                ShaderManager.AddEffect(ShaderManager.EFFECT_ID.OVERLAY, "overlay", game);
                ShaderManager.SetCurrentEffect(ShaderManager.EFFECT_ID.OVERLAY);
                ShaderManager.SetValue("OverlayColor", overlayColor);
                ShaderManager.CommitChanges();
            }
        }