🤔 Problem Description
Currently, various movement methods (move_to_empty, move_to_available, etc.) are implemented directly within the space module. These methods require explicitly passing agents (e.g., agent IDs or an AgentContainer). This approach can be cumbersome since there's no direct interface on AgentContainer itself.
💡 Proposed Solution
Implement a dedicated interface on AgentContainer classes that wraps these movement methods. By default, these methods would pass themselves as the agents to the underlying space methods, unless another set of agent IDs is explicitly provided.
This approach would significantly simplify the API and make it more intuitive.
🔄 Alternatives Considered
No response
➕ Additional Context
No response
🤔 Problem Description
Currently, various movement methods (
move_to_empty,move_to_available, etc.) are implemented directly within the space module. These methods require explicitly passing agents (e.g., agent IDs or anAgentContainer). This approach can be cumbersome since there's no direct interface onAgentContaineritself.💡 Proposed Solution
Implement a dedicated interface on
AgentContainerclasses that wraps these movement methods. By default, these methods would pass themselves as the agents to the underlying space methods, unless another set of agent IDs is explicitly provided.This approach would significantly simplify the API and make it more intuitive.
🔄 Alternatives Considered
No response
➕ Additional Context
No response