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; }
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); } }