-
Notifications
You must be signed in to change notification settings - Fork 138
Description
Is your feature request related to a problem? Please describe.
I have a model with multiple agent types, some of which require (grid-)space, and others for which a position argument doesn't really make sense. I would like to be able to use NoSpaceAgent as the base type for the latter, but this causes agent_validator() and do_checks() to throw an ArgumentError: "Second field of Agent struct must be pos when using a space."
Describe the solution you'd like
I'm wondering whether agent_validator() is still necessary, since creating one's own agents structs has been deprecated? It also gives me an annoying warning about a non-concrete Agent type, as I use a Union type for my multi-agent model.
Describe alternatives you've considered
If it's important to keep agent_validator(), it would be nice to include a check for whether the checked agent type extends NoSpaceAgent, and if so, exclude it from the spatial checks. However, I'm not sure how to do this, as agent types created with @agent only have AbstractAgent as a supertype, even if created with NoSpaceAgent as a base type.