Artemis.Engine.Forms.Menu.BaseMenuForm.MainUpdate C# (CSharp) Method

MainUpdate() private method

private MainUpdate ( ) : void
return void
        private void MainUpdate()
        {
            if (Body == null)
                return;
            var mousePos = ConvertUnits.ToSimUnits(ArtemisEngine.Mouse.PositionVector);
            if (Body.CollidingWithMouse(Layer))
            {
                if (MouseColliding)
                {
                    if (OnMouseHover != null)
                        OnMouseHover();
                }
                else
                {
                    if (OnMouseEnter != null)
                        OnMouseEnter();
                    MouseColliding = true;
                }

                foreach (var button in MouseInput.MouseButtons)
                {
                    var buttonID = (int)button;
                    var frames = ArtemisEngine.Mouse.FramesSinceButtonPressed[buttonID];
                    if (frames == 1)
                    {
                        framesMouseuttonPressed[buttonID] = 1;
                        if (OnClicked != null)
                            OnClicked(button);
                    }
                    else if (frames > 1)
                    {
                        if (framesMouseuttonPressed[buttonID] > 0)
                        {
                            framesMouseuttonPressed[buttonID]++;
                            if (OnHeld != null)
                                OnHeld(button);
                        }
                    }
                    else
                    {
                        if (framesMouseuttonPressed[buttonID] > 0)
                        {
                            if (OnReleased != null)
                                OnReleased(button);
                            framesMouseuttonPressed[buttonID] = 0;
                        }
                    }
                }

                FramesMouseHovered++;
                TimeMouseHovered += ArtemisEngine.GameTimer.DeltaTime;
            }
            else
            {
                if (MouseColliding)
                {
                    MouseColliding = false;
                    if (OnMouseLeave != null)
                        OnMouseLeave();
                    FramesMouseHovered = 0;
                    TimeMouseHovered = 0;
                }
            }
        }