-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathManagers.py
More file actions
65 lines (48 loc) · 1.81 KB
/
Managers.py
File metadata and controls
65 lines (48 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import assets.blocks.descrition as blocks
import assets.items.description as items
import assets.effects.description as effects
import assets.mobs.description as mobs
from basics import *
import mods.TestMod.items as mod
class BlockManager:
def __init__(self):
self.blocks_store = {}
for block in dir(blocks)[9:]:
self.blocks_store[block] = eval('blocks.{}()'.format(block))
def get_texture(self, name):
return self.blocks_store[name].get_img()
def summon_event(self, name, event, game):
obj = self.blocks_store[name]
if event == CAN_GO_EVENT:
return obj.can_go()
elif event == GO_INTO_EVENT:
return obj.go_into_event(game)
elif event == GO_OUT_EVENT:
return obj.go_out_event(game)
class ItemManager:
def __init__(self):
self.items_store = {}
for item in dir(items)[14:]:
self.items_store[item] = eval('items.{}()'.format(item))
for item in dir(mod)[10:]:
self.items_store[item] = eval('mod.{}()'.format(item))
def get_texture(self, name):
return self.items_store[name].img
def summon_event(self, name, event, game):
obj = self.items_store[name]
if event == TAKE_ITEM_EVENT:
return obj.take_item_event(game)
elif event == THROW_ITEM_EVENT:
return obj.throw_item_event(game)
class MobManager:
def __init__(self):
self.mobs_store = {}
for mob in dir(mobs)[9:]:
self.mobs_store[mob] = eval('mobs.{}'.format(mob))
class EffectManager:
def __init__(self):
self.effects_store = {}
for effect in dir(effects)[9:]:
self.effects_store[effect] = eval('effects.{}()'.format(effect))
def find(self, name):
return self.effects_store[name]