Example #1
0
        private void OnPaint(UIElement element, SKCanvas canvas)
        {
            Timer.Update();

            var deltaTime = HipsterEngine.DeltaTime.GetDeltaTime();

            mControl.Update();
            mControl.Draw();
            aControl.Draw();

            HipsterEngine.Surface.Canvas.Save();
            HipsterEngine.Surface.Canvas.Translate(HipsterEngine.Surface.Canvas.Camera.X,
                                                   HipsterEngine.Surface.Canvas.Camera.Y);
            HipsterEngine.Surface.Canvas.Scale(HipsterEngine.Surface.Canvas.Camera.ScaleX, HipsterEngine.Surface.Canvas.Camera.ScaleY);
            Earth.Step();
            Earth.Draw();
            Trees.ForEach(t =>
            {
                t.Step();
                t.Draw();
            });
            //  Robots.ForEach(r =>
            //   {
            //    r.Update(1, 1);
            //    r.Draw(HipsterEngine.Surface.Canvas);
            //  });

            HipsterEngine.Physics.Step(1.0f, 20);
            HipsterEngine.Particles.Draw(HipsterEngine.Surface.Canvas.GetSkiaCanvas());
            HipsterEngine.Surface.Canvas.Restore();
        }
Example #2
0
        private void OnPaint(UIElement element, SKCanvas canvas)
        {
            var p = new SKPaint
            {
                Style       = SKPaintStyle.Stroke,
                IsAntialias = true,
                PathEffect  = SKPathEffect.CreateDash(new[] { 10.0f, 10.0f }, 10),
                Color       = new SKColor(210, 170, 0, 100)
            };
            var pp = new SKPaint
            {
                Style       = SKPaintStyle.Fill,
                IsAntialias = true,
                Color       = new SKColor(50, 50, 50)
            };

            float borderSize = 40;

            canvas.DrawRect(borderSize, borderSize, Width - borderSize * 2, Height - borderSize * 2, p);

            var w = Width / 2;
            var h = Height / 2;
            var x = Width / 2 - w / 2;
            var y = Height / 2 - h / 2;


            canvas.DrawCircle(Width - 120, Y + 40, 36, p);
            canvas.DrawCircle(Width - 120, Y + 40, 36, pp);

            canvas.DrawText($"120", Width - 121, Y + 48,
                            new SKPaint
            {
                TextSize    = 25,
                IsAntialias = true,
                TextAlign   = SKTextAlign.Center,
                Color       = new SKColor(100, 100, 100)
            });


            canvas.DrawRect(x, y, w, h, new SKPaint
            {
                Style       = SKPaintStyle.Fill,
                IsAntialias = true,
                Color       = new SKColor(40, 40, 40)
            });
            canvas.DrawRect(x, y, w, h, p);
            canvas.DrawLine(x + w / 2, borderSize, x + w / 2, y, p);
            canvas.DrawLine(x + w / 2, Height - borderSize, x + w / 2, Height - y, p);

            Earth.Step();
            Earth.Draw();

            HipsterEngine.Physics.Step(1, 20);
            HipsterEngine.Particles.Draw(HipsterEngine.Surface.Canvas.GetSkiaCanvas());

            _listBoxs.ForEach(l =>
            {
                l.Update();
                l.Draw();
            });
            Robots.ForEach(r =>
            {
                r.Update(1, 1);
                r.Draw(HipsterEngine.Surface.Canvas);
            });
        }