//Кастомное движение объекта protected override void ProcessHandling(MovementSystem movementSystem) { if (!GameAreaHelper.IsAllObjectInGameplayArea(gameObject.transform, _collider2D.bounds)) { _isShipTouchedBorder = !_isShipTouchedBorder; } movementSystem.LongitudinalMovement(Time.deltaTime); movementSystem.LateralMovement(Time.deltaTime, _isShipTouchedBorder); }
//обработка горизонтального движения protected override void ProcessHandling(MovementSystem movementSystem) { Vector3 oldPosition = gameObject.transform.position; movementSystem.LateralMovement(Input.GetAxis("Horizontal") * Time.deltaTime * _playerSpaceship.CurrentSpeed); if (!GameAreaHelper.IsAllObjectInGameplayArea(transform, _objectCollider.bounds)) { gameObject.transform.position = oldPosition; } }