コード例 #1
0
 public void Move(IBee bee, Rectangle environmentDimmensions)
 {
     //Random Behavior
     if (_beeCommon.BeeBehaviorIsRandom(bee.BeeEnvironmentBehavior))
     {
         bee = _beeBehaviorResolver.UpdateBeeInfo_OnRandomMovement(bee, environmentDimmensions);
     }
     //targeted Behavior
     if (_beeCommon.BeeBehaviorIsTargeted(bee.BeeEnvironmentBehavior))
     {
         bee = _beeBehaviorResolver.UpdateBeeInfo_OnTargetedMovement(bee);
     }
     //Move Bee Indoors
     if (_beeCommon.BeeIsIndoors(bee.BeeEnvironmentBehavior))
     {
         Point newLocationPoint = _linearMovementStrategy.GetNewLinearMovementPoint(bee.BeeIndoorsMovementDirection);
         bee.BeeIndoorsSize = _interactionManager.GetNewLocationPoint(bee.BeeIndoorsSize, newLocationPoint);
     }
     //Move Bee Outer World
     if (_beeCommon.BeeIsInOuterWorld(bee.BeeEnvironmentBehavior))
     {
         Point newLocationPoint = _linearMovementStrategy.GetNewLinearMovementPoint(bee.BeeOuterWorldMovementDirection);
         bee.BeeInOuterWorldSize = _interactionManager.GetNewLocationPoint(bee.BeeInOuterWorldSize, newLocationPoint);
     }
 }