Update fenrir.py

This commit is contained in:
chrys87 2016-09-20 16:57:22 +02:00 committed by GitHub
parent b8a6ef4fdc
commit cd58d24a74

View File

@ -35,18 +35,21 @@ class fenrir():
def handleProcess(self): def handleProcess(self):
timeout = self.environment['runtime']['inputManager'].proceedInputEvent(self.environment) timeout = self.environment['runtime']['inputManager'].proceedInputEvent(self.environment)
if not timeout:
self.prepareCommand()
if not (self.environment['runtime']['inputManager'].isConsumeInput(self.environment) or \
self.environment['runtime']['inputManager'].isFenrirKeyPressed(self.environment) and
not self.environment['runtime']['commandManager'].isCommandQueued(self.environment):
self.environment['runtime']['inputManager'].writeEventBuffer(self.environment)
elif self.environment['runtime']['inputManager'].noKeyPressed(self.environment):
self.environment['runtime']['inputManager'].clearEventBuffer(self.environment)
try: try:
self.environment['runtime']['screenManager'].update(self.environment) self.environment['runtime']['screenManager'].update(self.environment)
except Exception as e: except Exception as e:
print(e) print(e)
self.environment['runtime']['debug'].writeDebugOut(self.environment, str(e),debug.debugLevel.ERROR) self.environment['runtime']['debug'].writeDebugOut(self.environment, str(e),debug.debugLevel.ERROR)
if not timeout:
self.prepareCommand()
if not (self.environment['runtime']['inputManager'].isConsumeInput(self.environment) or \
self.environment['runtime']['inputManager'].isFenrirKeyPressed(self.environment)):
self.environment['runtime']['inputManager'].writeEventBuffer(self.environment)
elif not self.environment['runtime']['commandManager'].isCommandQueued(self.environment) or self.environment['runtime']['inputManager'].noKeyPressed(self.environment):
self.environment['runtime']['inputManager'].clearEventBuffer(self.environment)
self.environment['runtime']['commandManager'].executeTriggerCommands(self.environment, 'onInput') self.environment['runtime']['commandManager'].executeTriggerCommands(self.environment, 'onInput')
self.environment['runtime']['commandManager'].executeTriggerCommands(self.environment, 'onScreenChanged') self.environment['runtime']['commandManager'].executeTriggerCommands(self.environment, 'onScreenChanged')
@ -55,15 +58,16 @@ class fenrir():
def prepareCommand(self): def prepareCommand(self):
if self.environment['input']['keyForeward']: if self.environment['input']['keyForeward']:
return return
if time.time() - self.environment['commandInfo']['lastCommandExecutionTime'] < 0.2:
return
shortcut = self.environment['runtime']['inputManager'].getCurrShortcut(self.environment) shortcut = self.environment['runtime']['inputManager'].getCurrShortcut(self.environment)
command = self.environment['runtime']['inputManager'].getCommandForShortcut(self.environment, shortcut) command = self.environment['runtime']['inputManager'].getCommandForShortcut(self.environment, shortcut)
self.environment['runtime']['commandManager'].queueCommand(self.environment, command) self.environment['runtime']['commandManager'].queueCommand(self.environment, command)
def handleCommands(self): def handleCommands(self):
if self.environment['runtime']['commandManager'].isCommandQueued(self.environment): if time.time() - self.environment['commandInfo']['lastCommandExecutionTime'] < 0.2:
self.environment['runtime']['commandManager'].executeCommand(self.environment, self.environment['commandInfo']['currCommand'], 'commands') return
if not self.environment['runtime']['commandManager'].isCommandQueued(self.environment):
return
self.environment['runtime']['commandManager'].executeCommand(self.environment, self.environment['commandInfo']['currCommand'], 'commands')
def shutdownRequest(self): def shutdownRequest(self):
self.environment['generalInformation']['running'] = False self.environment['generalInformation']['running'] = False