Ejemplo n.º 1
0
        public void Update(float deltaTime)
        {
            //pump message
            PumpMessage();

            SenderEvent(new UpdateEvent(DateTime.Now, deltaTime));
            SenderEvent(new RenderEvent(DateTime.Now, deltaTime));

            //process the event
            while (EventCount != 0)
            {
                switch (GetEvent(true))
                {
                case UpdateEvent update: OnUpdateEvent?.Invoke(this, update); break;

                case KeyBoardEvent keyBoard: OnKeyBoardEvent?.Invoke(this, keyBoard); break;

                case MouseClickEvent mouseClick: OnMouseClickEvent?.Invoke(this, mouseClick); break;

                case MouseWheelEvent mouseWheel: OnMouseWhellEvent?.Invoke(this, mouseWheel); break;

                case MouseMoveEvent mouseMove: OnMouseMoveEvent?.Invoke(this, mouseMove); break;

                case SizeChangeEvent sizeChange: OnSizeChangeEvent?.Invoke(this, sizeChange); break;
                }
            }
        }
 void Update()
 {
     if (!Input.mousePosition.Equals(LastMouseInputPosition))
     {
         OnMouseMove.Invoke(
             new OnMouseMoveEventData(
                 LastMouseInputPosition,
                 Input.mousePosition
                 )
             );
         LastMouseInputPosition = Input.mousePosition;
     }
     if (Input.GetKey(KeyCode.Mouse0))
     {
         OnMouseClick.Invoke(
             new OnMouseClickEventData(
                 KeyCode.Mouse0,
                 LastMouseInputPosition
                 )
             );
     }
     if (Input.GetKey(KeyCode.Mouse1)) //?? any better way?
     {
         OnMouseClick.Invoke(
             new OnMouseClickEventData(
                 KeyCode.Mouse1,
                 LastMouseInputPosition
                 )
             );
     }
 }