Example #1
0
    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);
    }
Example #2
0
	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);
    }
Example #5
0
    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();*/
    }
Example #6
0
    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;
    }