//Кастомное движение объекта
        protected override void ProcessHandling(MovementSystem movementSystem)
        {
            if (!GameAreaHelper.IsAllObjectInGameplayArea(gameObject.transform, _collider2D.bounds))
            {
                _isShipTouchedBorder = !_isShipTouchedBorder;
            }

            movementSystem.LongitudinalMovement(Time.deltaTime);
            movementSystem.LateralMovement(Time.deltaTime, _isShipTouchedBorder);
        }
Пример #2
0
        //обработка горизонтального движения
        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;
            }
        }