Ejemplo n.º 1
0
    void Awake()
    {
        _dicStrategies = new Dictionary <string, ICameraStrategy>();
        _thirdPerson   = new CameraThirdPersonStrategy("ThirdPerson").SetTransforms(transform, squirrelThirdPersonLookObj)
                         .SetOffset(thirdPersonOffsetX, thirdPersonHeight, thirdPersonDistance)
                         .SetYAnglesMaxAndMin(thirdPersonYangleMin, thirdPersonYangleMax)
                         .SetSensi(thirdPersonMouseSensivityX, thirdPersonMouseSensivityY, thirdPersonJoystickSensivityX, thirdPersonJoystickSensivityY)
                         .SetAvoidanceProperties(minDistanceToGetClose, thirdPersonDistance, smoothOfAvoidance, maskToAvoid);
        //setNewStrategyInDictionary("ThirdPerson", _thirdPerson);

        setNewStrategyInDictionary("Shooting", new CameraShootingStrategy("Shooting").SetTransforms(transform, positionOfCameraShooting)
                                   //.SetOffset(offsetXShooting, heightShooting, distanceShooting)
                                   .SetYAnglesMaxAndMin(YShootingAngleMin, YShootingAngleMax)
                                   .SetSensi(mouseSensivityShootingX, mouseSensivityShootingY, joystickSensivityShootingX, joystickSensivityShootingY));

        setNewStrategyInDictionary("FirstPerson", new CameraFirstPersonStrategy("FirstPerson").SetTransforms(transform, positionOfFirstPersonCamera, player)
                                   .SetXAnglesMaxAndMin(firstPersonangleMinX, firstPersonangleMaxX)
                                   .SetYAnglesMaxAndMin(YFirstPersonAngleMin, YFirstPersonAngleMax)
                                   .SetSensi(mouseSensivityFirstPersonX, mouseSensivityFirstPersonY, joystickSensivityFirstPersonX, joystickSensivityFirstPersonY));

        _cinematic = new CameraCinematicStrategy("Cinematic").setTransforms(transform, cinematicTransformToLookAt);

        setNewStrategyInDictionary("DeathFall", new CameraDeathFallStrategy("DeathFall").SetTransforms(transform, player));

        _dollyPath = new CameraDollyPathStrategy("DollyPath").setTransforms(transform, dollyPathTransformToLookAt).setRangesToChangeWaypoints(rangeToChangeWaypoint).SetSmoothLookAt(smoothLookAt);

        _current = _thirdPerson;

        //_current = getStrategyInDictionary("Shooting");
        //_current = getStrategyInDictionary("FirstPerson");
    }
Ejemplo n.º 2
0
    public void ReturnToThirdPerson()
    {
        if (_current.Name == _cinematic.Name && _cinematic.isInCinematic())
        {
            return;
        }

        //_transitioning = true
        _positionToChange = _thirdPerson.TargetOfTransition;
        _current          = _thirdPerson;
    }
Ejemplo n.º 3
0
 void setNewStrategyInDictionary(string key, ICameraStrategy stra)
 {
     if (_dicStrategies.ContainsKey(key))
     {
         throw new System.Exception("ya hay una key con ese nombre");
     }
     else
     {
         _dicStrategies[key] = stra;
     }
 }
Ejemplo n.º 4
0
    public void ChangeStrategyFromThirdTo(string name)
    {
        if (name == _cinematic.Name)
        {
            return;
        }
        if (_current.Name == _thirdPerson.Name)
        {
            var s = getStrategyInDictionary(name);
            //func = makeTransition;
            _transitioning = true;

            _positionToChange = s.TargetOfTransition;
            _current          = s;
        }
    }
Ejemplo n.º 5
0
 public void ChangeToCinematic(Waypoint start)
 {
     _cinematic.setPath(start);
     _current = _cinematic;
 }
Ejemplo n.º 6
0
 public void ChangeToDollyPath(Waypoint start, Waypoint playerStart) //, bool canGoBackWards) {
 {
     _dollyPath.setPath(start, playerStart);                         //, canGoBackWards);
     _current = _dollyPath;
 }
Ejemplo n.º 7
0
 public void ChangeToDeathFall()
 {
     _current = getStrategyInDictionary("DeathFall");
 }