Ejemplo n.º 1
0
        private void Tcol_Tapped(object sender, EventArgs e)
        {
            LinkedCanvasView <Tuple <PlayerAvatar.AvatarElement, SKColor> > obj = (LinkedCanvasView <Tuple <PlayerAvatar.AvatarElement, SKColor> >)sender;

            PlayerAvatar.Avatar.ColorScheme[obj.Link.Item1] = obj.Link.Item2;
            _displays["avatar"].InvalidateSurface();
            //InvalidateAll();
        }
Ejemplo n.º 2
0
        private void Thair_Tapped(object sender, EventArgs e)
        {
            LinkedCanvasView <PlayerAvatar.AvatarElement> obj = (LinkedCanvasView <PlayerAvatar.AvatarElement>)sender;
            TapGestureRecognizer tcol = new TapGestureRecognizer();

            tcol.Tapped += Tcol_Tapped;
            List <SKColor> ColorList = new List <SKColor>()
            {
                new SKColor(0, 0, 0),
                new SKColor(125, 0, 0),
                new SKColor(0, 125, 0),
                new SKColor(0, 0, 125),

                new SKColor(40, 40, 40),
                new SKColor(125, 40, 40),
                new SKColor(40, 125, 40),
                new SKColor(40, 40, 125),

                new SKColor(80, 80, 80),
                new SKColor(125, 80, 80),
                new SKColor(80, 125, 80),
                new SKColor(80, 80, 125),

                new SKColor(125, 125, 125),
                new SKColor(125, 0, 125),
                new SKColor(125, 125, 0),
                new SKColor(0, 125, 125)
            };

            int i = 0;

            optionGrid.Children.Clear();
            foreach (SKColor color in ColorList)
            {
                int col = i % 4;
                int row = (int)(i / 4);
                SkiaSharp.Views.Forms.SKCanvasView coloritem = new LinkedCanvasView <Tuple <PlayerAvatar.AvatarElement, SKColor> >(
                    new Tuple <PlayerAvatar.AvatarElement, SKColor>(obj.Link, color));
                coloritem.VerticalOptions   = LayoutOptions.FillAndExpand;
                coloritem.HorizontalOptions = LayoutOptions.FillAndExpand;
                coloritem.PaintSurface     += Coloritem_PaintSurface;

                coloritem.GestureRecognizers.Add(tcol);
                optionGrid.Children.Add(coloritem, col, row);
                ++i;
            }
            //PlayerAvatar.Avatar.ColorScheme[obj.Link] = new SKColor(125, 0, 0);
            //InvalidateAll();
        }
Ejemplo n.º 3
0
        private void Coloritem_PaintSurface(object sender, SkiaSharp.Views.Forms.SKPaintSurfaceEventArgs e)
        {
            LinkedCanvasView <Tuple <PlayerAvatar.AvatarElement, SKColor> > obj = (LinkedCanvasView <Tuple <PlayerAvatar.AvatarElement, SKColor> >)sender;
            SKImageInfo info    = e.Info;
            SKSurface   surface = e.Surface;
            SKCanvas    canvas  = surface.Canvas;

            canvas.Clear(new SKColor(0, 0, 0, 0));

            SKRect outerBounds = new SKRect(info.Width * .15f, info.Height * .1f, info.Width * .85f, info.Height * .9f);
//            PlayerAvatar.Avatar.DrawZoomElement(obj.Link.Item1,
//                canvas,
//                outerBounds,
//                obj.Link.Item2,
//                true
//                );
        }
Ejemplo n.º 4
0
        private void Hair_PaintSurface(object sender, SkiaSharp.Views.Forms.SKPaintSurfaceEventArgs e)
        {
            LinkedCanvasView <PlayerAvatar.AvatarElement> obj = (LinkedCanvasView <PlayerAvatar.AvatarElement>)sender;
            SKImageInfo info    = e.Info;
            SKSurface   surface = e.Surface;
            SKCanvas    canvas  = surface.Canvas;

            canvas.Clear(new SKColor(0, 0, 0, 0));

            SKRect outerBounds = new SKRect(info.Width * .15f, info.Height * .1f, info.Width * .85f, info.Height * .9f);

            PlayerAvatar.Avatar.DrawZoomElement(obj.Link,
                                                canvas,
                                                outerBounds,
                                                new SKColor(125, 0, 0),
                                                true
                                                );
        }
Ejemplo n.º 5
0
        public AvatarCustomizer()
        {
            this.SizeChanged += AvatarCustomizer_SizeChanged;


            SkiaSharp.Views.Forms.SKCanvasView cb = new SkiaSharp.Views.Forms.SKCanvasView();
            cb.VerticalOptions   = LayoutOptions.FillAndExpand;
            cb.HorizontalOptions = LayoutOptions.FillAndExpand;
            cb.PaintSurface     += Cb_PaintSurface;
            TapGestureRecognizer tgr = new TapGestureRecognizer();

            tgr.Tapped += Tgr_Tapped;
            cb.GestureRecognizers.Add(tgr);
            _displays["avatar"] = cb;

            TapGestureRecognizer thair = new TapGestureRecognizer();

            thair.Tapped += Thair_Tapped;
            foreach (PlayerAvatar.AvatarElement ae in editables)
            {
                SkiaSharp.Views.Forms.SKCanvasView hair = new LinkedCanvasView <PlayerAvatar.AvatarElement>(ae);
                hair.VerticalOptions   = LayoutOptions.FillAndExpand;
                hair.HorizontalOptions = LayoutOptions.FillAndExpand;
                hair.PaintSurface     += Hair_PaintSurface;

                hair.GestureRecognizers.Add(thair);
                _displays[ae.ToString()] = hair;
            }

            for (int i = 0; i < 4; ++i)
            {
                optionGrid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(1, GridUnitType.Star)
                });
                optionGrid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(1, GridUnitType.Star)
                });
            }
        }