public static UIFakeTouch fromInput(UIMouseState mouseState, ref Vector2?lastMousePosition) { var fakeTouch = new UIFakeTouch(); fakeTouch.fingerId = 2; // if we have a lastMousePosition use it to get a delta if (lastMousePosition.HasValue) { fakeTouch.deltaPosition = Input.mousePosition - (Vector3)lastMousePosition; } if (mouseState == UIMouseState.DownThisFrame) // equivalent to touchBegan { fakeTouch.phase = TouchPhase.Began; lastMousePosition = Input.mousePosition; } else if (mouseState == UIMouseState.UpThisFrame) // equivalent to touchEnded { fakeTouch.phase = TouchPhase.Ended; lastMousePosition = null; } else // UIMouseState.HeldDown - equivalent to touchMoved/Stationary { fakeTouch.phase = TouchPhase.Moved; lastMousePosition = Input.mousePosition; } fakeTouch.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y); return(fakeTouch); }
public static UIFakeTouch fromInput( UIMouseState mouseState, ref Vector2? lastMousePosition ) { var fakeTouch = new UIFakeTouch(); fakeTouch.fingerId = 2; // if we have a lastMousePosition use it to get a delta if( lastMousePosition.HasValue ) fakeTouch.deltaPosition = Input.mousePosition - (Vector3)lastMousePosition; if( mouseState == UIMouseState.DownThisFrame ) // equivalent to touchBegan { fakeTouch.phase = TouchPhase.Began; lastMousePosition = Input.mousePosition; } else if( mouseState == UIMouseState.UpThisFrame ) // equivalent to touchEnded { fakeTouch.phase = TouchPhase.Ended; lastMousePosition = null; } else // UIMouseState.HeldDown - equivalent to touchMoved/Stationary { fakeTouch.phase = TouchPhase.Moved; lastMousePosition = Input.mousePosition; } fakeTouch.position = new Vector2( Input.mousePosition.x, Input.mousePosition.y ); return fakeTouch; }
public static Touch createTouchFromInput( UIMouseState mouseState, ref Vector2? lastMousePosition ) { var self = new Touch(); ValueType valueSelf = self; var type = typeof( Touch ); var currentMousePosition = new Vector2( Input.mousePosition.x, Input.mousePosition.y ); // if we have a lastMousePosition use it to get a delta if( lastMousePosition.HasValue ) type.GetField( "m_PositionDelta", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, currentMousePosition - lastMousePosition ); if( mouseState == UIMouseState.DownThisFrame ) // equivalent to touchBegan { type.GetField( "m_Phase", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, TouchPhase.Began ); lastMousePosition = Input.mousePosition; } else if( mouseState == UIMouseState.UpThisFrame ) // equivalent to touchEnded { type.GetField( "m_Phase", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, TouchPhase.Ended ); lastMousePosition = null; } else // UIMouseState.HeldDown - equivalent to touchMoved/Stationary { type.GetField( "m_Phase", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, TouchPhase.Moved ); lastMousePosition = Input.mousePosition; } type.GetField( "m_Position", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, currentMousePosition ); return (Touch)valueSelf; }
public static Touch createTouchFromInput(UIMouseState mouseState, ref Vector2?lastMousePosition) { var self = new Touch(); ValueType valueSelf = self; var type = typeof(Touch); var currentMousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y); // if we have a lastMousePosition use it to get a delta if (lastMousePosition.HasValue) { type.GetField("m_PositionDelta", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, currentMousePosition - lastMousePosition); } if (mouseState == UIMouseState.DownThisFrame) // equivalent to touchBegan { type.GetField("m_Phase", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, TouchPhase.Began); lastMousePosition = Input.mousePosition; } else if (mouseState == UIMouseState.UpThisFrame) // equivalent to touchEnded { type.GetField("m_Phase", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, TouchPhase.Ended); lastMousePosition = null; } else // UIMouseState.HeldDown - equivalent to touchMoved/Stationary { type.GetField("m_Phase", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, TouchPhase.Moved); lastMousePosition = Input.mousePosition; } type.GetField("m_Position", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, currentMousePosition); return((Touch)valueSelf); }
public static myTouch createTouchFromInput(UIMouseState mouseState, ref Vector2?lastMousePosition) { //try{ var self = new myTouch(); //ValueType valueSelf = self; var type = typeof(myTouch); var currentMousePosition = new Vector2(Input.mousePosition.x, Input.mousePosition.y); // if we have a lastMousePosition use it to get a delta if (lastMousePosition.HasValue) { self.deltaPosition = (Vector2)(currentMousePosition - lastMousePosition); } //type.GetField("m_PositionDelta", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, currentMousePosition - lastMousePosition); if (mouseState == UIMouseState.DownThisFrame) // equivalent to touchBegan { self.phase = TouchPhase.Began; //type.GetField("m_Phase", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, TouchPhase.Began); lastMousePosition = Input.mousePosition; } else if (mouseState == UIMouseState.UpThisFrame) // equivalent to touchEnded { self.phase = TouchPhase.Ended; //type.GetField("m_Phase", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, TouchPhase.Ended); lastMousePosition = Vector2.zero; } else // UIMouseState.HeldDown - equivalent to touchMoved/Stationary { self.phase = TouchPhase.Moved; //type.GetField("m_Phase", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, TouchPhase.Moved); lastMousePosition = Input.mousePosition; } self.position = currentMousePosition; //type.GetField("m_Position", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(valueSelf, currentMousePosition); //return (myTouch)valueSelf; return(self); /*}catch(Exception e){ * Statics.Instance.myString = e.ToString(); * } * return new Touch();*/ }
public static UITouchWrapper createTouchFromInput( UIMouseState mouseState, ref Vector2? lastMousePosition ) { //var self = new UITouchWrapper(); //ValueType valueSelf = self; //var type = typeof( UITouchWrapper ); var self = new UITouchWrapper(); var currentMousePosition = new Vector2( Input.mousePosition.x, Input.mousePosition.y ); if(lastMousePosition.HasValue) // if we have a lastMousePosition use it to get a delta if( lastMousePosition.HasValue ) self.deltaPosition = currentMousePosition - (Vector2)lastMousePosition; //type.GetField( "m_PositionDelta", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, currentMousePosition - lastMousePosition ); if( mouseState == UIMouseState.DownThisFrame ) // equivalent to touchBegan { //type.GetField( "m_Phase", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, TouchPhase.Began ); self.phase = TouchPhase.Began; lastMousePosition = Input.mousePosition; } else if( mouseState == UIMouseState.UpThisFrame ) // equivalent to touchEnded { //type.GetField( "m_Phase", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, TouchPhase.Ended ); self.phase = TouchPhase.Ended; lastMousePosition = null; } else // UIMouseState.HeldDown - equivalent to touchMoved/Stationary { //type.GetField( "m_Phase", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, TouchPhase.Moved ); self.phase = TouchPhase.Moved; lastMousePosition = Input.mousePosition; } //type.GetField( "m_Position", BindingFlags.Instance | BindingFlags.NonPublic ).SetValue( valueSelf, currentMousePosition ); self.position = currentMousePosition; return self; //return (UITouchWrapper)valueSelf; }