private void HandleMovement() { if (striker == null) { return; } _positionInput.onPositionChanged += vector3 => { if (Striked) { return; } if (!HasTurn) { return; } var strikerPos = striker.transform.position; var newPos = strikerPos + vector3; switch (BoardPosition) { case BoardPosition.POSTION_1: case BoardPosition.POSTION_3: { striker.MoveTo(new Vector3(vector3.x, strikerPos.y, strikerPos.z)); break; } case BoardPosition.POSTION_2: case BoardPosition.POSTION_4: { var posZ = Mathf.Clamp(newPos.y, minMovement, maxMovement); striker.MoveTo(new Vector3(strikerPos.x, strikerPos.y, posZ)); break; } } }; }