public void Transition() { if (OnTransitionStarted != null) { OnTransitionStarted(); } _hasFiredTransitionFinished = false; ProCamera2D.UseNumericBoundaries = true; if (UseLeftBoundary) { ProCamera2D.UseLeftBoundary = true; if (ProCamera2D.LeftBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.LeftBoundaryAnimRoutine); } ProCamera2D.LeftBoundaryAnimRoutine = ProCamera2D.StartCoroutine(LeftTransitionRoutine(TransitionDuration)); } else if (!UseLeftBoundary && ProCamera2D.UseLeftBoundary && UseRightBoundary && RightBoundary < ProCamera2D.TargetLeftBoundary) { ProCamera2D.UseLeftBoundary = true; UseLeftBoundary = true; LeftBoundary = RightBoundary - ProCamera2D.ScreenSizeInWorldCoordinates.x * 100f; if (ProCamera2D.LeftBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.LeftBoundaryAnimRoutine); } ProCamera2D.LeftBoundaryAnimRoutine = ProCamera2D.StartCoroutine(LeftTransitionRoutine(TransitionDuration, true)); } if (UseRightBoundary) { ProCamera2D.UseRightBoundary = true; if (ProCamera2D.RightBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.RightBoundaryAnimRoutine); } ProCamera2D.RightBoundaryAnimRoutine = ProCamera2D.StartCoroutine(RightTransitionRoutine(TransitionDuration)); } else if (!UseRightBoundary && ProCamera2D.UseRightBoundary && UseLeftBoundary && LeftBoundary > ProCamera2D.TargetRightBoundary) { ProCamera2D.UseRightBoundary = true; UseRightBoundary = true; RightBoundary = LeftBoundary + ProCamera2D.ScreenSizeInWorldCoordinates.x * 100f; if (ProCamera2D.RightBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.RightBoundaryAnimRoutine); } ProCamera2D.RightBoundaryAnimRoutine = ProCamera2D.StartCoroutine(RightTransitionRoutine(TransitionDuration, true)); } if (UseTopBoundary) { ProCamera2D.UseTopBoundary = true; if (ProCamera2D.TopBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.TopBoundaryAnimRoutine); } ProCamera2D.TopBoundaryAnimRoutine = ProCamera2D.StartCoroutine(TopTransitionRoutine(TransitionDuration)); } else if (!UseTopBoundary && ProCamera2D.UseTopBoundary && UseBottomBoundary && BottomBoundary > ProCamera2D.TargetTopBoundary) { ProCamera2D.UseTopBoundary = true; UseTopBoundary = true; TopBoundary = BottomBoundary + ProCamera2D.ScreenSizeInWorldCoordinates.y * 100f; if (ProCamera2D.TopBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.TopBoundaryAnimRoutine); } ProCamera2D.TopBoundaryAnimRoutine = ProCamera2D.StartCoroutine(TopTransitionRoutine(TransitionDuration, true)); } if (UseBottomBoundary) { ProCamera2D.UseBottomBoundary = true; if (ProCamera2D.BottomBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.BottomBoundaryAnimRoutine); } ProCamera2D.BottomBoundaryAnimRoutine = ProCamera2D.StartCoroutine(BottomTransitionRoutine(TransitionDuration)); } else if (!UseBottomBoundary && ProCamera2D.UseBottomBoundary && UseTopBoundary && TopBoundary < ProCamera2D.TargetBottomBoundary) { ProCamera2D.UseBottomBoundary = true; UseBottomBoundary = true; BottomBoundary = TopBoundary - ProCamera2D.ScreenSizeInWorldCoordinates.y * 100f; if (ProCamera2D.BottomBoundaryAnimRoutine != null) { ProCamera2D.StopCoroutine(ProCamera2D.BottomBoundaryAnimRoutine); } ProCamera2D.BottomBoundaryAnimRoutine = ProCamera2D.StartCoroutine(BottomTransitionRoutine(TransitionDuration, true)); } }