def __init__(self, gamePlayState, devMode): pygame.sprite.OrderedUpdates.__init__(self) self.devMode = devMode self.theModuleLoader = ModuleLoader(globals(), locals()) self.theModuleLoader.loadModules("modules") self.reloadTime = 1.000 self.curTimeTillReload = self.reloadTime #self.devPanel = StaticImage(loadImage("devmenu.png"), (10, 10)) #self.add(self.devPanel) self.open = False self.rerenderEverythingIn = -1 #This boolean is set to true after the menu is closed. #It is used by draw() to tell when the menu was open last frame, #so that it can return an update rect that covers the whole devmenu. #So it may be cleared. self.wasOpen = False #This list will contain click events that are # added to it during the main.py main loop. #It is processed when DevMenu.update() is called self.clicks = { 'mouse1up': [], 'mouse1down': [], 'mouse2up': [], 'mouse2down': [], 'mouse3up': [], 'mouse3down': [] } #All the sprites that are also buttons. self.buttons = [] self.playState = gamePlayState self.masterEntitySet = MasterEntitySet() #If in devMode, force load every damn ent. if self.devMode: self.masterEntitySet.loadAllEnts() self.defaultMenuState = DefaultMenuState(self) self.loadMenuState(self.defaultMenuState) #F*****G HORRIBLE HIDEOUS HACK OH GOD WHY. #Foricbly reload everything in EntitySets so that they're actually added #to the MasterEntSet, I should really find someway of doing this right #the first time. #self.theModuleLoader.loadModules( os.path.join( "modules", "entitysets" ) ) #self.masterEntSet.updateEnts() self.draggingMenu = False self.draggedSpot = [0, 0] self.playState.devMenuRef = weakref.ref(self)