Example #1
0
    public void Transition(float srcRadius, float srcY, float srcAngle, TransitionParam targetRadius, TransitionParam targetY, TransitionParam targetAngle)
    {
        sourceRadius = srcRadius;
        sourceY      = srcY;
        sourceAngle  = srcAngle;

        targetAngle.value = NormalizeAngle(targetAngle.value);
        if (Mathf.Abs(sourceAngle - targetAngle.value) > Mathf.PI)
        {
            if (sourceAngle > targetAngle.value)
            {
                targetAngle.value += Mathf.PI * 2;
            }
            else
            {
                targetAngle.value -= Mathf.PI * 2;
            }
        }

        transitionRadius = targetRadius;
        transitionY      = targetY;
        transitionAngle  = targetAngle;

        //moveTime = time;
        curTime = 0;
        move    = true;
    }
Example #2
0
    public void LeaveArea(CameraTransitionArea area)
    {
        if (area == mCurArea)
        {
            TransitionParam tpRadius = area.trsRadius;
            tpRadius.value = cacheRadius;
            TransitionParam tpY = area.trsY;
            tpY.value = cacheY;
            TransitionParam tpAngle = area.trsAngle;
            tpAngle.value = cacheAngle;

            isSmooth = cacheIsSmooth;
            Transition(radius, Y, angle, tpRadius, tpY, tpAngle);
        }
    }