void OnValueChanged(ServiceManager m, IServiceProvider s)
    {
        if (s.GetName() == GyroServiceProvider.ServiceName)
        {
            _rawRotation = (s as GyroServiceProvider).Value;
            Vector3 e = _rawRotation.eulerAngles;
            Rotation.x = -e.x;
            Rotation.y = -e.z;
            Rotation.z = -e.y;

            _rawRotation.x = -(s as GyroServiceProvider).Value.x;
            _rawRotation.y = -(s as GyroServiceProvider).Value.z;
            _rawRotation.z = -(s as GyroServiceProvider).Value.y;
        }
        else if (s.GetName() == TouchServiceProvider.ServiceName)
        {
            Points = (s as TouchServiceProvider).Value.ToArray();
        }
        else if (s.GetName() == SwipeServiceProvider.ServiceName)
        {
            Swipe = (s as SwipeServiceProvider).Value;
        }
        else if (s.GetName() == AccelServiceProvider.ServiceName)
        {
            Acceleration.x = (s as AccelServiceProvider).Value.x;
            Acceleration.y = (s as AccelServiceProvider).Value.z;
            Acceleration.z = (s as AccelServiceProvider).Value.y;
        }
    }
    void OnValueChanged(ServiceManager m, IServiceProvider s)
    {
        if (s.GetName() == GyroServiceProvider.ServiceName)
        {
            _rawRotation = (s as GyroServiceProvider).Value;
            Vector3 e = _rawRotation.eulerAngles;
            Rotation.x = -e.x;
            Rotation.y = -e.z;
            Rotation.z = -e.y;
            //Debug.Log(Rotation.z);

            _rawRotation.x = -(s as GyroServiceProvider).Value.x;
            _rawRotation.y = -(s as GyroServiceProvider).Value.z;
            _rawRotation.z = -(s as GyroServiceProvider).Value.y;
        }
        else if (s.GetName() == TouchServiceProvider.ServiceName)
        {
            //Debug.Log((s as TouchServiceProvider).Value.ToArray());
            Points = (s as TouchServiceProvider).Value.ToArray();
        }
        else if (s.GetName() == SwipeServiceProvider.ServiceName)
        {
            Swipe = (s as SwipeServiceProvider).Value;
        }
        else if (s.GetName() == AccelServiceProvider.ServiceName)
        {
            Acceleration.x = (s as AccelServiceProvider).Value.x;
            Acceleration.y = (s as AccelServiceProvider).Value.z;
            Acceleration.z = (s as AccelServiceProvider).Value.y;
        }
        else if (s.GetName() == UIServiceProvider.ServiceName)
        {
            LightRange  = (s as UIServiceProvider).Value.range;
            LightActive = Convert.ToBoolean((s as UIServiceProvider).Value.active);
            LightR      = (s as UIServiceProvider).Value.r;
            LightG      = (s as UIServiceProvider).Value.g;
            LightB      = (s as UIServiceProvider).Value.b;
            LightA      = (s as UIServiceProvider).Value.a;
            GUIDebug    = Convert.ToBoolean((s as UIServiceProvider).Value.debug);
            ShowModel   = Convert.ToBoolean((s as UIServiceProvider).Value.model);
        }
    }