Mercurial > parpg-source
annotate components/fifeagent.py @ 183:7b6aba7839ea
getGameEnvironment of GameState now returns a locals dictionary that is empty at the beginning of the game and will be saved in save games. The vals and funcs are now both in the globals dictionary.
This WILL break old saves.
author | Beliar <KarstenBock@gmx.net> |
---|---|
date | Thu, 15 Mar 2012 16:24:05 +0100 |
parents | 75c0b728ccf3 |
children |
rev | line source |
---|---|
12
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
1 # This program is free software: you can redistribute it and/or modify |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
2 # it under the terms of the GNU General Public License as published by |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
3 # the Free Software Foundation, either version 3 of the License, or |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
4 # (at your option) any later version. |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
5 # |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
6 # This program is distributed in the hope that it will be useful, |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
9 # GNU General Public License for more details. |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
10 # |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
11 # You should have received a copy of the GNU General Public License |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
12 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
13 |
91
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
14 from copy import deepcopy |
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
15 |
89
939984cff702
Added Base component, which has a saveable_fields property. It is supposed to be derived from, thus it is not in the components list.
KarstenBock@gmx.net
parents:
86
diff
changeset
|
16 from base import Base |
12
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
17 |
91
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
18 |
89
939984cff702
Added Base component, which has a saveable_fields property. It is supposed to be derived from, thus it is not in the components list.
KarstenBock@gmx.net
parents:
86
diff
changeset
|
19 class FifeAgent(Base): |
12
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
20 """Component that stores the values for a fife agent""" |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
21 |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
22 def __init__(self): |
9c7a96c6fe41
Refactored components and began defining basic Entities and Systems.
M. George Hansen <technopolitica@gmail.com>
parents:
diff
changeset
|
23 """Constructor""" |
93 | 24 Base.__init__(self, layer=object, behaviour=object) |
28
bcabbffc88e6
Move setup_behaviour method of the Character entity to a function in fifeagent.py
KarstenBock@gmx.net
parents:
21
diff
changeset
|
25 |
91
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
26 @property |
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
27 def saveable_fields(self): |
97
f94d4577ca5e
saveable_fields property of components is now a List.
KarstenBock@gmx.net
parents:
93
diff
changeset
|
28 fields = self.fields.keys() |
f94d4577ca5e
saveable_fields property of components is now a List.
KarstenBock@gmx.net
parents:
93
diff
changeset
|
29 fields.remove("layer") |
f94d4577ca5e
saveable_fields property of components is now a List.
KarstenBock@gmx.net
parents:
93
diff
changeset
|
30 fields.remove("behaviour") |
91
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
31 return fields |
d2451ecb1433
Added saveable_fields to FifeAgent component.
KarstenBock@gmx.net
parents:
89
diff
changeset
|
32 |
28
bcabbffc88e6
Move setup_behaviour method of the Character entity to a function in fifeagent.py
KarstenBock@gmx.net
parents:
21
diff
changeset
|
33 |
bcabbffc88e6
Move setup_behaviour method of the Character entity to a function in fifeagent.py
KarstenBock@gmx.net
parents:
21
diff
changeset
|
34 def setup_behaviour(agent): |
bcabbffc88e6
Move setup_behaviour method of the Character entity to a function in fifeagent.py
KarstenBock@gmx.net
parents:
21
diff
changeset
|
35 """Attach the behaviour to the layer""" |
46
bf506f739322
Removed layer as attribute of BaseBehaviour and added it as a parameter to the attachToLayer method.
KarstenBock@gmx.net
parents:
41
diff
changeset
|
36 if agent.behaviour: |
160 | 37 agent.behaviour.attachToLayer(agent.entity.getID(), agent.layer) |
38 | |
39 def approach(agent, target_or_location, action): | |
40 if agent.behaviour: | |
41 agent.behaviour.approach(target_or_location, action) | |
42 | |
43 commands = {"approach":approach} |