Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

AgVaccumEffector.cs 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using uqac_ia_aspirobot.Common;
  2. using uqac_ia_aspirobot.Extensions;
  3. using uqac_ia_aspirobot.Interfaces;
  4. namespace uqac_ia_aspirobot.Agent.Effectors
  5. {
  6. public class AgVaccumEffector
  7. {
  8. private readonly AgEngineEffector _engineEffector;
  9. private readonly ArClient _arClient;
  10. private readonly IEnvironment _environment;
  11. private readonly AgBatterySensor _agBatterySensor;
  12. private readonly AgVaccumSensor _agVaccumSensor;
  13. private readonly AgPickedSensor _agPickedSensor;
  14. public AgVaccumEffector(AgEngineEffector engineEffector, ArClient arClient, IEnvironment environment,
  15. AgBatterySensor agBatterySensor, AgVaccumSensor agVaccumSensor, AgPickedSensor agPickedSensor)
  16. {
  17. _engineEffector = engineEffector;
  18. _arClient = arClient;
  19. _environment = environment;
  20. _agBatterySensor = agBatterySensor;
  21. _agVaccumSensor = agVaccumSensor;
  22. _agPickedSensor = agPickedSensor;
  23. }
  24. public void Vaccum()
  25. {
  26. _agBatterySensor.Add(1);
  27. _agVaccumSensor.Increase();
  28. _environment.RemoveDust(_engineEffector.X, _engineEffector.Y);
  29. }
  30. public void Pick()
  31. {
  32. _agBatterySensor.Add(1);
  33. _agPickedSensor.Increase();
  34. _arClient.RemoveJewel(_engineEffector.X, _engineEffector.Y);
  35. }
  36. }
  37. }