Buying, checking availability, etc, should take an agent as argument -- not only resources.
I think. This would also mean that the market method updates the resources for the agent -- but should the changes be tracked or not? (Have a setting on the market for this, and allow both?)
The reason for having an agent as argument is that some code otherwise would be duplicated a lot of times. And agents should nearly always be passed to goods resolvers.
Buying, checking availability, etc, should take an agent as argument -- not only resources.
I think. This would also mean that the market method updates the resources for the agent -- but should the changes be tracked or not? (Have a setting on the market for this, and allow both?)