almost there...
[asgard.git] / event.py
blobd7150695660932cc56c4aa4b170c85e004ba33a5
1 ########################################################
2 #Copyright (c) 2006 Russ Adams, Sean Eubanks, Asgard Contributors
3 #This file is part of Asgard.
5 #Asgard is free software; you can redistribute it and/or modify
6 #it under the terms of the GNU General Public License as published by
7 #the Free Software Foundation; either version 2 of the License, or
8 #(at your option) any later version.
10 #Asgard is distributed in the hope that it will be useful,
11 #but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 #GNU General Public License for more details.
15 #You should have received a copy of the GNU General Public License
16 #along with Asgard; if not, write to the Free Software
17 #Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 ########################################################
19 from random import *
20 import sys
22 class Event:
23 def __init__(self,ex,targ,tr,t):
24 """Constructor."""
25 self.__executor = ex
26 self.__targets = targ
27 self.__transactions = tr
28 self.__eventType = t
30 def getExecutor(self):
31 """Get executor of event."""
32 return self.__executor
34 def setExecutor(self, ex):
35 """Change executor of event."""
36 self.__executor = ex
38 def getTargets(self):
39 """Get target of event."""
40 return self.__targets
42 def setTargets(self, targ):
43 """Change target of event."""
44 self.__targets = targ
46 def getTransactions(self):
47 """Get transactions."""
48 return self.__transactions
50 def setTransactions(self, tr):
51 """Set transactions."""
52 self.__transactions = tr
54 def getEventType(self):
55 """Get Event Type"""
56 return self.__eventType
58 def setEventType(self, t):
59 """Set Event Type."""
60 self.__eventType = t
62 def execute(self):
63 """Execute event."""
65 self.__transactions = self.__eventType.detTransactions(self.__executor,self.__targets)
66 for t in self.__transactions:
67 # calling Transaction's execute()
68 t.execute()
70 for s in self.__executor.getStatus():
71 s.genPerTurnOnMove()