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 ########################################################
23 """ Represents an event that occurs between an executor and a set of targets. (which are Fighter objects) An event executes has a type, be it Attack or Fire1 or what have you. Generally speaking, events result in the execution of transactions. """
25 def __init__(self
,ex
,targ
,tr
,t
):
29 self
.__transactions
= tr
32 def getExecutor(self
):
33 """Get executor of event."""
34 return self
.__executor
36 def setExecutor(self
, ex
):
37 """Change executor of event."""
41 """Get target of event."""
44 def setTargets(self
, targ
):
45 """Change target of event."""
48 def getTransactions(self
):
49 """Get transactions."""
50 return self
.__transactions
52 def setTransactions(self
, tr
):
53 """Set transactions."""
54 self
.__transactions
= tr
56 def getEventType(self
):
58 return self
.__eventType
60 def setEventType(self
, t
):
65 """ Determines the transactions needed to be executed, then executes each one in order."""
67 self
.__transactions
= self
.__eventType
.detTransactions(self
.__executor
,self
.__targets
)
68 for t
in self
.__transactions
:
69 # calling Transaction's execute()
72 for s
in self
.__executor
.getStatus():