void SwapTargetOnCollision()
    {
        isCollsionGoingOn = cinemachineCollider.CameraWasDisplaced(vCamBase_MiddleRig);

        if (isCollsionGoingOn == true)
        {
            Debug.Log("Reached Cam Collision");
            vFreeLookCam.LookAt = alternateLookAt;
        }
        else if (isCollsionGoingOn == false)
        {
            vFreeLookCam.LookAt = defaultLookAt;
        }
        else
        {
            vFreeLookCam.LookAt = defaultLookAt;
        }
    }
Beispiel #2
0
    void Update()
    {
        #if UNITY_EDITOR
        if (!EditorApplication.isPlaying)
        {
            CreateGlobalEventIfNecessary();
        }
#endif


        if (_cache != null)
        {
            if (_freeLook != null)
            {
                _vcam = _freeLook.GetRig(1) as CinemachineVirtualCameraBase;
            }
            else
            {
                _vcam = _cache.VirtualCamera;
            }
            // _vcam = _cache.VirtualCamera. as CinemachineVirtualCameraBase; // _cache.VirtualCamera.LiveChildOrSelf as CinemachineVirtualCameraBase;
        }

        if (_vcam == null)
        {
            return;
        }

        // variables
        if (TargetObscuredVariable.initialized)
        {
            TargetObscuredVariable.FsmBool.Value = _cache.IsTargetObscured(_vcam);
        }

        if (CameraWasDisplaced.initialized)
        {
            CameraWasDisplaced.FsmBool.Value = _cache.CameraWasDisplaced(_vcam);
        }

        // events
        if (_cache.IsTargetObscured(_vcam) && !_currentlyObscured)
        {
            _currentlyObscured = true;
            onTargetObscuredBeganEvent.SendEvent(null, eventTarget, debug);
        }

        if (!_cache.IsTargetObscured(_vcam) && _currentlyObscured) // only call on our way back from being obscured
        {
            _currentlyObscured = false;
            onTargetObscuredEndedEvent.SendEvent(null, eventTarget, debug);
        }

        if (_cache.CameraWasDisplaced(_vcam) && !_currentlyDisplaced)
        {
            _currentlyDisplaced = true;
            onCameraDisplacedBeganEvent.SendEvent(null, eventTarget, debug);
        }

        if (!_cache.CameraWasDisplaced(_vcam) && _currentlyDisplaced) // only call on our way back from being obscured
        {
            _currentlyDisplaced = false;
            onCameraDisplacedEndedEvent.SendEvent(null, eventTarget, debug);
        }
    }