View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.bot.impl;
2   
3   import java.util.logging.Level;
4   
5   import cz.cuni.amis.pogamut.base.communication.command.IAct;
6   import cz.cuni.amis.pogamut.base.utils.guice.AgentScoped;
7   import cz.cuni.amis.pogamut.base.utils.logging.LogCategory;
8   import cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView;
9   import cz.cuni.amis.pogamut.ut2004.bot.IUT2004BotController;
10  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.Initialize;
11  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.PasswordReply;
12  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.BotKilled;
13  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.ConfigChange;
14  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo;
15  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.InitedMessage;
16  import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.Self;
17  
18  @AgentScoped
19  public class UT2004BotController<BOT extends UT2004Bot> implements IUT2004BotController<BOT> { 
20  
21  	/**
22  	 * Name of the log category of the user log.
23  	 */
24      public static final String USER_LOG_CATEGORY_ID = "User";
25  
26      /**
27       * Instance of the bot we're controlling.
28       */
29  	protected BOT bot;
30  
31      /**
32       * Alias for user's log.
33       */
34      protected LogCategory log = null;
35  
36      @Override
37      public void initializeController(BOT bot) {
38      	this.bot = bot;
39          log = bot.getLogger().getCategory(USER_LOG_CATEGORY_ID);
40          // set user-log to accept every message
41          log.setLevel(Level.ALL);
42      }
43      
44      @Override
45  	public void prepareBot(BOT bot) {		
46  	}
47  
48      @Override
49  	public PasswordReply getPassword() {
50  		return new PasswordReply().setPassword("unspecified");
51  	}
52      
53      @Override
54  	public Initialize getInitializeCommand() {
55  		return new Initialize();
56  	}
57      
58      @Override
59  	public void botInitialized(GameInfo gameInfo, ConfigChange currentConfig, InitedMessage init) {
60  	}
61      
62      @Override
63  	public void botFirstSpawn(GameInfo gameInfo, ConfigChange currentConfig, InitedMessage init, Self self) {
64  	}
65      
66      @Override
67  	public void finishControllerInitialization() {
68  	}
69      
70  	@Override
71  	public void botKilled(BotKilled event) {		
72  	}
73  
74  	@Override
75  	public void botShutdown() {
76  	}
77  	
78  	@Override
79  	public IVisionWorldView getWorldView() {
80  		return bot.getWorldView();
81  	}
82  	
83  	@Override
84  	public IAct getAct() {
85  		return bot.getAct();
86  	}
87  	
88  	@Override
89  	public BOT getBot() {
90  		return bot;
91  	}
92  
93      @Override
94      public LogCategory getLog() {
95          return log;
96      }
97  
98  }