1 package cz.cuni.amis.pogamut.defcon.agent.module.logic;
2
3 import java.util.logging.Logger;
4
5 import com.google.inject.Inject;
6
7 import cz.cuni.amis.pogamut.base.agent.module.IAgentLogic;
8 import cz.cuni.amis.pogamut.base.agent.module.LogicModule;
9 import cz.cuni.amis.pogamut.base.component.controller.ComponentDependencies;
10 import cz.cuni.amis.pogamut.base.component.controller.ComponentDependencyType;
11 import cz.cuni.amis.pogamut.defcon.agent.DefConAgent;
12
13
14
15
16
17
18
19
20 public class DefConAgentLogic<AGENT extends DefConAgent> extends LogicModule<AGENT> {
21
22 @Inject
23 public DefConAgentLogic(AGENT agent, IAgentLogic<LogicModule<AGENT>> logic) {
24 this(agent, logic, null, new ComponentDependencies(ComponentDependencyType.STARTS_WITH).add(agent.getWorldView()));
25 }
26
27 public DefConAgentLogic(AGENT agent, IAgentLogic<LogicModule<AGENT>> logic, Logger log) {
28 this(agent, logic, log, new ComponentDependencies(ComponentDependencyType.STARTS_WITH).add(agent.getWorldView()));
29 }
30
31 public DefConAgentLogic(AGENT agent, IAgentLogic<LogicModule<AGENT>> logic, Logger log, ComponentDependencies dependencies) {
32 super(agent, logic, log, dependencies);
33 }
34
35 @Override
36 protected void beforeLogic(String threadName) {
37 agent.getWorldView().update();
38 }
39
40 @Override
41 protected void afterLogic(String threadName) {
42 }
43
44 }