1 package cz.cuni.amis.pogamut.multi.factory.guice;
2
3 import cz.cuni.amis.pogamut.base.communication.connection.IWorldConnection;
4 import cz.cuni.amis.pogamut.base.factory.guice.GuiceAgentModule;
5 import cz.cuni.amis.pogamut.base.factory.guice.GuiceRemoteAgentModule;
6 import cz.cuni.amis.pogamut.base.utils.guice.AdaptableProvider;
7 import cz.cuni.amis.pogamut.multi.communication.worldview.ISharedWorldView;
8 import cz.cuni.amis.pogamut.multi.params.ITeamRemoteAgentParameters;
9 import cz.cuni.amis.utils.NullCheck;
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public abstract class GuiceTeamRemoteAgentModule<PARAMS extends ITeamRemoteAgentParameters> extends GuiceRemoteAgentModule<PARAMS> {
24
25 private AdaptableProvider<ISharedWorldView> sharedWorldViewProvider = new AdaptableProvider<ISharedWorldView>(null);
26
27 public AdaptableProvider<ISharedWorldView> getSharedWorldViewProvider() {
28 return sharedWorldViewProvider;
29 }
30
31 @Override
32 public void prepareNewAgent(PARAMS agentParameters) {
33 super.prepareNewAgent(agentParameters);
34 NullCheck.check(agentParameters.getSharedWorldView(), "agentParameters.getSharedWorldView()");
35 sharedWorldViewProvider.set(agentParameters.getSharedWorldView());
36 };
37
38 }