1 package cz.cuni.amis.pogamut.defcon.communication.mailbox;
2
3 import cz.cuni.amis.pogamut.base.communication.worldview.object.WorldObjectId;
4 import cz.cuni.amis.pogamut.defcon.ai.IUnitAI;
5
6
7
8
9
10
11
12 public interface IMailBox {
13
14
15
16
17
18
19
20 void mail(Class<? extends IUnitAI> targetAIClass, IMessage message);
21
22
23
24
25
26
27
28
29 void mail(WorldObjectId targetId, IMessage message);
30
31
32
33
34
35
36
37 void mail(IUnitAI ai, IMessage message);
38
39
40
41
42
43
44 void registerAI(IUnitAI ai);
45
46
47
48
49
50
51 void unregisterAI(IUnitAI ai);
52
53 }