clear turnips on level load; invalidate seeds on level load; less magical seeds property
[tabakrolletjie.git] / tabakrolletjie / gamestate.py
1 """ The game state. """
2
3
4 class GameState(object):
5     def __init__(self):
6         self._state = {
7             "station": None,
8             "turnips": [],
9             "seeds": None,
10         }
11         self.harvested = 0
12         self.eaten = 0
13         self.days = 0
14
15     @property
16     def station(self):
17         return self._state["station"]
18
19     @property
20     def turnips(self):
21         return self._state["turnips"]
22
23     @turnips.setter
24     def turnips(self, turnip_list):
25         self._state["turnips"] = turnip_list
26
27     @property
28     def seeds(self):
29         if self._state["seeds"] is None:
30             if (self._state["station"] and
31                         "seeds" in self._state["station"]["config"]):
32                 self._state["seeds"] = self._state["station"]["config"]["seeds"]
33             else:
34                 self._state["seeds"] = 0
35         return self._state["seeds"]
36
37     @seeds.setter
38     def seeds(self, value):
39         self._state['seeds'] = value
40
41     def set_station(self, station):
42         self._state["station"] = station
43         self._state["turnips"] = []
44         self._state["seeds"] = None
45
46     def get_spawn_positions(self):
47         return self._state["station"]["config"]["spawn positions"]
48
49     def get_target(self):
50         return self._state["station"]["config"]["turnip target"]