Exemplo n.º 1
0
    private BlendedCameraBehavior AddNewBehavior(GameCameraBehavior newGameCamera, CameraLerp lerp)
    {
        if (GetNewestRunningBehaviorIndex() >= 0)                                                                                       // if there are any behaviors currently
        {
            if (GameCameraBehavior.AreInputParametersEqual(_runningBehaviors[GetNewestRunningBehaviorIndex()].behavior, newGameCamera)) // are we trying to add an exact same behavior?
            {
                return(null);                                                                                                           // no need to add a duplicate
            }

            if (BlendedCameraBehavior.IsTransitionImmediate(lerp)) // if it is a cut
            {
                _runningBehaviors.Clear();                         // can remove everything currently in the list as it will not effect output after cutting to new camera
            }
        }

        BlendedCameraBehavior newRunningBehavior = new BlendedCameraBehavior(lerp, newGameCamera);

        _runningBehaviors.Add(newRunningBehavior);

#if UNITY_EDITOR
        if (null != theEditor)
        {
            theEditor.Repaint();
        }
#endif
        return(newRunningBehavior);
    }
Exemplo n.º 2
0
    public void EnterFixedOffsetGameCamera(CameraLerp lerp)
    {
        if (BlendedCameraBehavior.IsTransitionImmediate(lerp))
        {
            _runningBehaviors.Clear();
        }

        AddNewBehavior(_gameCamera, lerp);
    }