protected override void Start() { base.Start(); if (ProCamera2D == null) { return; } if (PositionAndSizeOverrider == null) { var positionAndSizeOverrider = ProCamera2D.GetComponent <ProCamera2DPositionAndSizeOverrider>(); PositionAndSizeOverrider = positionAndSizeOverrider == null?ProCamera2D.gameObject.AddComponent <ProCamera2DPositionAndSizeOverrider>() : positionAndSizeOverrider; PositionAndSizeOverrider.hideFlags = HideFlags.HideInInspector; } if (NumericBoundaries == null) { var numericBoundaries = FindObjectOfType <ProCamera2DNumericBoundaries>(); NumericBoundaries = numericBoundaries == null?ProCamera2D.gameObject.AddComponent <ProCamera2DNumericBoundaries>() : numericBoundaries; } _boundsAnim = new BoundariesAnimator(ProCamera2D, NumericBoundaries); _boundsAnim.OnTransitionStarted += () => { if (ProCamera2D.OnBoundariesTransitionStarted != null) { ProCamera2D.OnBoundariesTransitionStarted(); } }; _boundsAnim.OnTransitionFinished += () => { if (ProCamera2D.OnBoundariesTransitionFinished != null) { ProCamera2D.OnBoundariesTransitionFinished(); } }; GetTargetBoundaries(); if (SetAsStartingBoundaries) { NumericBoundaries.CurrentBoundariesTriggerID = _instanceID; NumericBoundaries.UseLeftBoundary = UseLeftBoundary; if (UseLeftBoundary) { NumericBoundaries.LeftBoundary = NumericBoundaries.TargetLeftBoundary = _targetLeftBoundary; } NumericBoundaries.UseRightBoundary = UseRightBoundary; if (UseRightBoundary) { NumericBoundaries.RightBoundary = NumericBoundaries.TargetRightBoundary = _targetRightBoundary; } NumericBoundaries.UseTopBoundary = UseTopBoundary; if (UseTopBoundary) { NumericBoundaries.TopBoundary = NumericBoundaries.TargetTopBoundary = _targetTopBoundary; } NumericBoundaries.UseBottomBoundary = UseBottomBoundary; if (UseBottomBoundary) { NumericBoundaries.BottomBoundary = NumericBoundaries.TargetBottomBoundary = _targetBottomBoundary; } if (!UseTopBoundary && !UseBottomBoundary && !UseLeftBoundary && !UseRightBoundary) { NumericBoundaries.UseNumericBoundaries = false; } else { NumericBoundaries.UseNumericBoundaries = true; } } _initialCamSize = ProCamera2D.GameCameraSize; }
protected override void Start() { base.Start(); if (ProCamera2D == null) { return; } _boundsAnim = new BoundariesAnimator(ProCamera2D); _boundsAnim.OnTransitionStarted += () => { if (ProCamera2D.OnBoundariesTransitionStarted != null) { ProCamera2D.OnBoundariesTransitionStarted(); } }; _boundsAnim.OnTransitionFinished += () => { if (ProCamera2D.OnBoundariesTransitionFinished != null) { ProCamera2D.OnBoundariesTransitionFinished(); } }; GetTargetBoundaries(); if (SetAsStartingBoundaries) { ProCamera2D.CurrentBoundariesTriggerID = _instanceID; ProCamera2D.UseLeftBoundary = UseLeftBoundary; if (UseLeftBoundary) { ProCamera2D.LeftBoundary = ProCamera2D.TargetLeftBoundary = _targetLeftBoundary; } ProCamera2D.UseRightBoundary = UseRightBoundary; if (UseRightBoundary) { ProCamera2D.RightBoundary = ProCamera2D.TargetRightBoundary = _targetRightBoundary; } ProCamera2D.UseTopBoundary = UseTopBoundary; if (UseTopBoundary) { ProCamera2D.TopBoundary = ProCamera2D.TargetTopBoundary = _targetTopBoundary; } ProCamera2D.UseBottomBoundary = UseBottomBoundary; if (UseBottomBoundary) { ProCamera2D.BottomBoundary = ProCamera2D.TargetBottomBoundary = _targetBottomBoundary; } if (!UseTopBoundary && !UseBottomBoundary && !UseLeftBoundary && !UseRightBoundary) { ProCamera2D.UseNumericBoundaries = false; } else { ProCamera2D.UseNumericBoundaries = true; } } }