bool UIButton_OnControllerInput(UITouchEvent _Event) { Float3 mouse = new Float3(_Event.Position, 1); Float3x3 mat = GetTransformation(); Float3x3 matinv = mat.Invert(); Float2 localmouse = (mouse * matinv).XY; if (zoomed) { if (localmouse.Length() > 1 && _Event.Released) { zoomed = false; HandleChildInputFirst = false; return true; } else { if (_Event.Released) { //handle stuff here return true; } } } else { if (localmouse.Length() < 1 && zoomstate < 0.1f && _Event.Released&&!zoomed) { zoomed = true; HandleChildInputFirst = true; BringToFront(); return true; } } return false; }
bool UIButton_OnControllerInput(UITouchEvent _Event) { return false; }
bool UIButton_OnControllerInput(UITouchEvent _Event) { Float3 mouse = new Float3(_Event.Position, 1); Float3x3 mat = GetTransformation(); Float3x3 matinv = mat.Invert(); Float2 localmouse = (mouse * matinv).XY; if (zoomed) { if (localmouse.Length() > 1 && _Event.Released) { zoomed = false; return true; } else { if (_Event.Pressed) { OffsetAngle = -(float)Math.Atan2(localmouse.Y, localmouse.X); OffsetValue = Value - OffsetAngle / ((float)Math.PI * 2); } float angle = -(float)Math.Atan2(localmouse.Y, localmouse.X); float shortestangle = angle - OffsetAngle; if (shortestangle > Math.PI) shortestangle = ((float)Math.PI * 2) - shortestangle; if (shortestangle < -Math.PI) shortestangle = ((float)Math.PI * 2) + shortestangle; Value += shortestangle / ((float)Math.PI * 2); OffsetAngle = angle; if (Value > 1) Value = 1f; if (Value < 0) Value = 0; return true; } } else { if (localmouse.Length() < 1 && _Event.Released) { NormalTransformation = Transformation; RelativeToParent = false; zoomed = true; BringToFront(); return true; } } return false; }
bool UIButton_OnControllerInput(UITouchEvent _Event) { Float3 mouse = new Float3(_Event.Position, 1); Float3x3 mat = GetTransformation().Invert(); Float2 localmouse = (mouse * mat).XY; if (localmouse.Length() < 1 && _Event.Released) { Checked = !Checked; return true; } return false; }
bool UIButton_OnControllerInput(UITouchEvent _Event) { Float3 mouse = new Float3(_Event.Position, 1); Float3x3 mat = GetTransformation(); Float3x3 matinv = mat.Invert(); Float2 localmouse = (mouse * matinv).XY; Value = (int)((localmouse.X * 0.5f + 0.5f) * 100); return false; }