public WalkRunMovementBehaviour(Transform transform, SuperConfig config) : base(transform) { MovementConfig walkConfig = config.WalkMovement; MovementConfig runConfig = config.RunMovement; _movement = new SmoothMovementHandler(config.WalkRunAcceleration); _movement.SetMovement(); _currentConfig = walkConfig; var runAction = Player.GetInstance().Actions.GetAction(PlayerAction.Run); runAction.StartBehaviour = () => _currentConfig = runConfig; runAction.FinishBehaviour = () => _currentConfig = walkConfig; }
public CartMovementBehaviour(Transform transform, GameObject cart, SuperConfig config) : base(transform) { _cartConfig = config.DriveCartMovement; _movement = new SmoothMovementHandler(config.CartAcceleration).SetMovement(); _cartTransform = cart.transform; foreach (Collider c in cart.GetComponentsInChildren <Collider>()) { if (!c.isTrigger) { c.enabled = false; _disabledColliders.Add(c); } } _layerMaskAllButPlayer = ~(1 << LayerMaskManager.Get(Layer.Player)); _moveBackAction = Player.GetInstance().Actions.GetAction(PlayerAction.MoveBack); Utils.AnimationUtils.LookTowardsHorizontal(transform, cart.transform.forward, _cartConfig.GoInsideTimeSeconds); Utils.AnimationUtils.LookTowardsVertical(Player.GetInstance().MainCamera.transform, transform.position + cart.transform.forward, _cartConfig.GoInsideTimeSeconds); AudioController.GetInstance().PlayCart(); }