Example #1
0
    // Update is called once per frame
    private void Update()
    {
        float angle = 0;

        if (Input.acceleration != Vector3.zero)
        {
            switch (tiltAroundAxis)
            {
            case AxisOptions.ForwardAxis:
                angle = Mathf.Atan2(Input.acceleration.x, -Input.acceleration.y) * Mathf.Rad2Deg +
                        centreAngleOffset;
                break;

            case AxisOptions.SidewaysAxis:
                angle = Mathf.Atan2(Input.acceleration.z, -Input.acceleration.y) * Mathf.Rad2Deg +
                        centreAngleOffset;
                break;
            }
        }

        float axisValue = Mathf.InverseLerp(-fullTiltAngle, fullTiltAngle, angle) * 2 - 1;

        switch (mapping.type)
        {
        case AxisMapping.MappingType.NamedAxis:
            steerAxis.Update(axisValue);
            break;

        case AxisMapping.MappingType.MousePositionX:
            CrossPlatformInput.SetVirtualMousePositionX(axisValue * Screen.width);
            break;

        case AxisMapping.MappingType.MousePositionY:
            CrossPlatformInput.SetVirtualMousePositionY(axisValue * Screen.width);
            break;

        case AxisMapping.MappingType.MousePositionZ:
            CrossPlatformInput.SetVirtualMousePositionZ(axisValue * Screen.width);
            break;
        }
    }
Example #2
0
    private void Update()
    {
        float value = 0f;

        if (Input.acceleration != Vector3.zero)
        {
            TiltInput.AxisOptions axisOptions = this.tiltAroundAxis;
            if (axisOptions != TiltInput.AxisOptions.ForwardAxis)
            {
                if (axisOptions == TiltInput.AxisOptions.SidewaysAxis)
                {
                    value = Mathf.Atan2(Input.acceleration.z, -Input.acceleration.y) * 57.29578f + this.centreAngleOffset;
                }
            }
            else
            {
                value = Mathf.Atan2(Input.acceleration.x, -Input.acceleration.y) * 57.29578f + this.centreAngleOffset;
            }
        }
        float num = Mathf.InverseLerp(-this.fullTiltAngle, this.fullTiltAngle, value) * 2f - 1f;

        switch (this.mapping.type)
        {
        case TiltInput.AxisMapping.MappingType.NamedAxis:
            this.steerAxis.Update(num);
            break;

        case TiltInput.AxisMapping.MappingType.MousePositionX:
            CrossPlatformInput.SetVirtualMousePositionX(num * (float)Screen.width);
            break;

        case TiltInput.AxisMapping.MappingType.MousePositionY:
            CrossPlatformInput.SetVirtualMousePositionY(num * (float)Screen.width);
            break;

        case TiltInput.AxisMapping.MappingType.MousePositionZ:
            CrossPlatformInput.SetVirtualMousePositionZ(num * (float)Screen.width);
            break;
        }
    }