Exemplo n.º 1
0
        public bool OnMouseDown(Components.BaseUI ui, float x, float y)
        {
            if (ui.Collision != null)
            {
                var isCollision = ui.Collision.IsCollisionMouse(ui, x, y);

                if (isCollision)
                {
                    var isChildCollision = false;
                    ui.Childs.ForEach(childUI =>
                    {
                        if (ui.ListenerMouse.OnMouseDown(childUI, x, y))
                        {
                            isChildCollision = true;
                        }
                    });
                    if (!isChildCollision)
                    {
                        ui.ListenerMouse.ActiveDown(x, y, ui);
                    }
                }

                return(isCollision);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 2
0
        public ListenerMouse(Components.BaseUI ui)
        {
            this.UI          = ui;
            this.IsMouseOver = true;

            MouseDown  = new List <Action <MouseDate> >();
            MouseMove  = new List <Action <MouseDate> >();
            MouseUp    = new List <Action <MouseDate> >();
            MouseLeave = new List <Action <MouseDate> >();
            MouseEnter = new List <Action <MouseDate> >();
        }
        bool UICollision.IsCollisionMouse(Components.BaseUI ui, float x, float y)
        {
            var rect = ui as Components.RectangleComponent;

            if (x >= rect.X && x <= rect.Width + rect.X && y >= rect.Y && y <= rect.Y + rect.Hieght)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 4
0
        public bool OnMouseMove(Components.BaseUI ui, float x, float y)
        {
            if (ui.Collision != null)
            {
                var isCollision = ui.Collision.IsCollisionMouse(ui, x, y);

                if (isCollision)
                {
                    var isChildCollision = false;
                    ui.Childs.ForEach(childUI =>
                    {
                        if (ui.ListenerMouse.OnMouseMove(childUI, x, y))
                        {
                            isChildCollision = true;
                        }
                    });
                    if (!isChildCollision)
                    {
                        if (ui.ListenerMouse.IsMouseOver)
                        {
                            ui.ListenerMouse.ActiveEnter(x, y, ui);
                            ui.ListenerMouse.IsMouseOver = false;
                        }
                        ui.ListenerMouse.ActiveMove(x, y, ui);
                    }
                }
                else if (!ui.ListenerMouse.IsMouseOver)
                {
                    ui.ListenerMouse.IsMouseOver = true;
                    ui.ListenerMouse.ActiveLeave(x, y, ui);
                }
                return(isCollision);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 5
0
 public MouseDate(float x, float y, Components.BaseUI ui)
 {
     this.X  = x;
     this.Y  = y;
     this.UI = ui;
 }
Exemplo n.º 6
0
 public void ActiveEnter(float x, float y, Components.BaseUI ui) => MouseEnter.ForEach(m => m(new MouseDate(x, y, ui)));