Mercurial > mamba
changeset 411:5b090546a3c8
Turns out we *can* cache level objects safely.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sat, 17 Sep 2011 14:43:51 +0200 |
parents | 09ff0abf3e0f |
children | e2d5d937eac1 |
files | mamba/habitats/levelmenu.py |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/habitats/levelmenu.py Sat Sep 17 09:57:16 2011 +0200 +++ b/mamba/habitats/levelmenu.py Sat Sep 17 14:43:51 2011 +0200 @@ -12,6 +12,7 @@ OFFICIAL_LEVELS = [] +LEVEL_CACHE = {} class LevelMenu(Habitat): @@ -89,4 +90,6 @@ return OFFICIAL_LEVELS[:] def get_level(self, name): - return Level(name, self.level_namespace) + if name not in LEVEL_CACHE: + LEVEL_CACHE[name] = Level(name, self.level_namespace) + return LEVEL_CACHE[name]