Example #1
0
        /// <summary>Play the cinematic.</summary>
        public void Play()
        {
            if (_isPlaying)
            {
                return;
            }

            if (CinematicTargets.Count == 0)
            {
                Debug.LogWarning("No cinematic targets added to the list");
                return;
            }

            if (UseNumericBoundaries && _numericBoundaries == null)
            {
                _numericBoundaries = ProCamera2D.GetComponentInChildren <ProCamera2DNumericBoundaries>();
            }

            if (_numericBoundaries == null)
            {
                UseNumericBoundaries = false;
            }

            _isPlaying = true;
            if (_endCinematicRoutine != null)
            {
                StopCoroutine(_endCinematicRoutine);
                _endCinematicRoutine = null;
            }

            if (_startCinematicRoutine == null)
            {
                _startCinematicRoutine = StartCoroutine(StartCinematicRoutine());
            }
        }
Example #2
0
        override protected void Awake()
        {
            base.Awake();

            _numericBoundaries = ProCamera2D.GetComponent <ProCamera2DNumericBoundaries>();
            _defaultNumericBoundariesSettings = _numericBoundaries.Settings;

            OriginalSize = ProCamera2D.ScreenSizeInWorldCoordinates.y / 2;

            ProCamera2D.AddPositionOverrider(this);
            ProCamera2D.AddSizeOverrider(this);
        }
Example #3
0
        /// <summary>Play the cinematic.</summary>
        public void Play()
        {
            if (_isPlaying)
            {
                return;
            }

            _paused = false;

            if (CinematicTargets.Count == 0)
            {
                Debug.LogWarning("No cinematic targets added to the list");
                return;
            }

            _initialCameraSize = ProCamera2D.ScreenSizeInWorldCoordinates.y * .5f;

            if (_numericBoundaries == null)
            {
                _numericBoundaries = ProCamera2D.GetComponentInChildren <ProCamera2DNumericBoundaries>();
            }

            if (_numericBoundaries == null)
            {
                _numericBoundaries = FindObjectOfType <ProCamera2DNumericBoundaries>();
            }

            if (_numericBoundaries == null)
            {
                UseNumericBoundaries = false;
            }
            else
            {
                _numericBoundariesPreviousState = _numericBoundaries.enabled;
                _numericBoundaries.enabled      = false;
            }

            _isPlaying = true;
            if (_endCinematicRoutine != null)
            {
                StopCoroutine(_endCinematicRoutine);
                _endCinematicRoutine = null;
            }

            if (_startCinematicRoutine == null)
            {
                _startCinematicRoutine = StartCoroutine(StartCinematicRoutine());
            }
        }
        void Start()
        {
            if (ProCamera2D == null)
            {
                return;
            }

            if (NumericBoundaries == null)
            {
                var numericBoundaries = FindObjectOfType <ProCamera2DNumericBoundaries>();
                NumericBoundaries = numericBoundaries == null?ProCamera2D.gameObject.AddComponent <ProCamera2DNumericBoundaries>() : numericBoundaries;
            }

            _boundsAnim = new BoundariesAnimator(ProCamera2D, NumericBoundaries);
            _boundsAnim.OnTransitionStarted += () =>
            {
                if (NumericBoundaries.OnBoundariesTransitionStarted != null)
                {
                    NumericBoundaries.OnBoundariesTransitionStarted();
                }
            };

            _boundsAnim.OnTransitionFinished += () =>
            {
                if (NumericBoundaries.OnBoundariesTransitionFinished != null)
                {
                    NumericBoundaries.OnBoundariesTransitionFinished();
                }
            };

            if (IsSpawnEnemies)
            {
                ResetCustomBoundaries();
            }

            GetTargetBoundaries();

            if (SetAsStartingBoundaries)
            {
                SetBoundaries();
            }

            _initialCamSize = ProCamera2D.ScreenSizeInWorldCoordinates.y * .5f;
        }
        public BoundariesAnimator(ProCamera2D proCamera2D, ProCamera2DNumericBoundaries numericBoundaries)
        {
            ProCamera2D = proCamera2D;
            NumericBoundaries = numericBoundaries;

            switch (ProCamera2D.Axis)
            {
                case MovementAxis.XY:
                    Vector3H = vector => vector.x;
                    Vector3V = vector => vector.y;
                    break;
                case MovementAxis.XZ:
                    Vector3H = vector => vector.x;
                    Vector3V = vector => vector.z;
                    break;
                case MovementAxis.YZ:
                    Vector3H = vector => vector.z;
                    Vector3V = vector => vector.y;
                    break;
            }
        }
        void 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)
                SetBoundaries();

            _initialCamSize = ProCamera2D.GameCameraSize;
        }
        public BoundariesAnimator(ProCamera2D proCamera2D, ProCamera2DNumericBoundaries numericBoundaries)
        {
            ProCamera2D       = proCamera2D;
            NumericBoundaries = numericBoundaries;

            switch (ProCamera2D.Axis)
            {
            case MovementAxis.XY:
                Vector3H = vector => vector.x;
                Vector3V = vector => vector.y;
                break;

            case MovementAxis.XZ:
                Vector3H = vector => vector.x;
                Vector3V = vector => vector.z;
                break;

            case MovementAxis.YZ:
                Vector3H = vector => vector.z;
                Vector3V = vector => vector.y;
                break;
            }
        }
Example #8
0
        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;

            if (PositionAndSizeOverrider == null)
            {
                var positionAndSizeOverrider = ProCamera2D.gameObject.GetComponent<ProCamera2DPositionAndSizeOverrider>();
                PositionAndSizeOverrider = positionAndSizeOverrider == null ? ProCamera2D.gameObject.AddComponent<ProCamera2DPositionAndSizeOverrider>() : positionAndSizeOverrider;
                PositionAndSizeOverrider.hideFlags = HideFlags.HideInInspector;
                PositionAndSizeOverrider.enabled = false;
            }
            PositionAndSizeOverrider.enabled = false;

            if (NumericBoundaries == null)
            {
                var numericBoundaries = ProCamera2D.gameObject.GetComponent<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;
        }
        void Awake()
        {
            if (PositionAndSizeOverrider == null)
            {
                var positionAndSizeOverrider = ProCamera2D.gameObject.GetComponent<ProCamera2DPositionAndSizeOverrider>();
                PositionAndSizeOverrider = positionAndSizeOverrider == null ? ProCamera2D.gameObject.AddComponent<ProCamera2DPositionAndSizeOverrider>() : positionAndSizeOverrider;
                PositionAndSizeOverrider.hideFlags = HideFlags.HideInInspector;
                PositionAndSizeOverrider.enabled = false;
            }

            PositionAndSizeOverrider.enabled = false;

            if (NumericBoundaries == null)
            {
                var numericBoundaries = ProCamera2D.gameObject.GetComponent<ProCamera2DNumericBoundaries>();
                NumericBoundaries = numericBoundaries == null ? ProCamera2D.gameObject.AddComponent<ProCamera2DNumericBoundaries>() : numericBoundaries;
            }
        }
        void Start()
        {
            if (ProCamera2D == null)
                return;
            
            if (NumericBoundaries == null)
            {
                var numericBoundaries = FindObjectOfType<ProCamera2DNumericBoundaries>();
                NumericBoundaries = numericBoundaries == null ? ProCamera2D.gameObject.AddComponent<ProCamera2DNumericBoundaries>() : numericBoundaries;
            }

            _boundsAnim = new BoundariesAnimator(ProCamera2D, NumericBoundaries);
            _boundsAnim.OnTransitionStarted += () =>
            {
                if (NumericBoundaries.OnBoundariesTransitionStarted != null)
                    NumericBoundaries.OnBoundariesTransitionStarted();
            };

            _boundsAnim.OnTransitionFinished += () =>
            {
                if (NumericBoundaries.OnBoundariesTransitionFinished != null)
                    NumericBoundaries.OnBoundariesTransitionFinished();
            };

            GetTargetBoundaries();

            if (SetAsStartingBoundaries)
                SetBoundaries();

            _initialCamSize = ProCamera2D.ScreenSizeInWorldCoordinates.y * .5f;
        }