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"); }
public void ReturnToThirdPerson() { if (_current.Name == _cinematic.Name && _cinematic.isInCinematic()) { return; } //_transitioning = true _positionToChange = _thirdPerson.TargetOfTransition; _current = _thirdPerson; }
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; } }
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; } }
public void ChangeToCinematic(Waypoint start) { _cinematic.setPath(start); _current = _cinematic; }
public void ChangeToDollyPath(Waypoint start, Waypoint playerStart) //, bool canGoBackWards) { { _dollyPath.setPath(start, playerStart); //, canGoBackWards); _current = _dollyPath; }
public void ChangeToDeathFall() { _current = getStrategyInDictionary("DeathFall"); }