diff --git a/AccordionBus/AccordionBus/MovementStrategy/MoveToBorder.cs b/AccordionBus/AccordionBus/MovementStrategy/MoveToBorder.cs index cdb0963..3f23fb4 100644 --- a/AccordionBus/AccordionBus/MovementStrategy/MoveToBorder.cs +++ b/AccordionBus/AccordionBus/MovementStrategy/MoveToBorder.cs @@ -15,10 +15,8 @@ public class MoveToBorder : AbstractStategy { return false; } - return objParams.ObjectMiddleHorizontal - GetStep() <= FieldWidth - && objParams.ObjectMiddleHorizontal + GetStep() >= FieldWidth && - objParams.ObjectMiddleVertical - GetStep() <= FieldHeight - && objParams.ObjectMiddleVertical + GetStep() >= FieldHeight; + return objParams.RightBorder <= FieldWidth && objParams.RightBorder + GetStep() >= FieldWidth && + objParams.DownBorder <= FieldHeight && objParams.DownBorder + GetStep() >= FieldHeight; } protected override void MoveToTarget() { @@ -30,7 +28,7 @@ public class MoveToBorder : AbstractStategy int diffX = objParams.ObjectMiddleHorizontal - FieldWidth; if (Math.Abs(diffX) > GetStep()) { - if (diffX < 0) + if (diffX > 0) { MoveLeft(); } @@ -42,7 +40,7 @@ public class MoveToBorder : AbstractStategy int diffY = objParams.ObjectMiddleVertical - FieldHeight; if (Math.Abs(diffY) > GetStep()) { - if (diffY < 0) + if (diffY > 0) { MoveUp(); }