View Javadoc

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   * Defcon logic module.
15   * 
16   * @author Radek 'Black_Hand' Pibil
17   * 
18   * @param <AGENT>
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  }