def startPreview(self): if self.paused == False: return self.canvas.setInputDevice(self.getRuntime().getInputDevice('device')) self.canvas.startTick() self.getApp().setMinimalMainLoopBudget() self.enableMenu('main/run/pause_game', True) self.enableMenu('main/run/stop_game', True) self.enableMenu('main/run/start_game', False) self.enableMenu('main/run/next_frame', False) if self.paused: # resume logging.info('resume game preview') # signals.emitNow('preview.resume') elif self.paused is None: # start logging.info('start game preview') # signals.emitNow('preview.start') # signals.emitNow('preview.resume') entryScript = self.getProject().getScriptLibPath('main.lua') import os if os.path.exists(entryScript): # self.getRuntime().setWorkingDirectory(self.getProject().getPath() + "/game") self.getRuntime().getRuntimeEnv( )['SCREEN_WIDTH'] = self.canvas.size().width() self.getRuntime().getRuntimeEnv( )['SCREEN_HEIGHT'] = self.canvas.size().height() getAKU().runScript(entryScript) self.window.setWindowTitle('Game [ RUNNING ]') self.qtool.setStyleSheet( 'QToolBar{ border-top: 1px solid rgb(0, 120, 0); }') self.paused = False self.setFocus() logging.info('game preview started')
def renderView(self): w = self.viewWidth h = self.viewHeight runtime = self.getRuntime() getAKU().setViewSize(w, h) runtime.changeRenderContext('game', w, h) runtime.renderAKU()
def onOpenWindow(self, title, w, h): logging.info('opening MOAI window: %s @ (%d,%d)' % (str(title), w, h)) print('opening MOAI window: %s @ (%d,%d)' % (str(title), w, h)) #no argument accepted here, just use full window # self.getRuntime ().initGLContext () from qt.controls.GLWidget import GLWidget GLWidget.getSharedWidget().makeCurrent() self.originalSize = (w, h) self.tryResizeContainer(*self.originalSize) size = self.canvas.size() w, h = size.width(), size.height() getAKU().setScreenSize(w, h) getAKU().setViewSize(w, h)
def startPreview(self): if self.paused == False: return runtime = self.getRuntime() runtime.changeRenderContext('game', self.viewWidth, self.viewHeight) self.canvas.setInputDevice(runtime.getInputDevice('device')) self.canvas.startRefreshTimer(self.activeFPS) self.canvas.interceptShortcut = True self.getApp().setMinimalMainLoopBudget() # jhook = self.getModule ( 'joystick_hook' ) # if jhook: # jhook.refreshJoysticks () # jhook.setInputDevice ( runtime.getInputDevice ('device') ) self.enableMenu('main/preview/pause_game', True) self.enableMenu('main/preview/stop_game', True) self.enableMenu('main/preview/start_game', False) if self.paused: #resume logging.info('resume game preview') signals.emitNow('preview.resume') elif self.paused is None: #start logging.info('start game preview') signals.emitNow('preview.start') signals.emitNow('preview.resume') self.updateTimer = self.window.startTimer(60, self.updateView) getAKU().setFuncOpenWindow(self.onOpenWindow) self.window.setWindowTitle('Game Preview [ RUNNING ]') self.qtool.setStyleSheet( 'QToolBar{ border-top: 1px solid rgb (0, 120, 0); }') self.paused = False runtime.resume() self.setFocus() logging.info('game preview started') entryScript = self.getProject().getScriptLibPath('main.lua') import os if os.path.exists(entryScript): getAKU().runScript(entryScript)
def refreshContext(self): # getAKU().resetContext() # getAKU().setInputConfigurationName('Game') # # # getAKU().reserveInputDevices(1) # getAKU().setInputDevice(0, "device") # # getAKU().reserveInputDeviceSensors(0, TOTAL) # getAKU().setInputDeviceKeyboard(0, KEYBOARD, "keyboard") # getAKU().setInputDevicePointer(0, POINTER, "pointer") # getAKU().setInputDevicePointer(0, MOUSE_LEFT, "mouseLeft") # getAKU().setInputDevicePointer(0, MOUSE_MIDDLE, "mouseMiddle") # getAKU().setInputDevicePointer(0, MOUSE_RIGHT, "mouseRight") getAKU().runString( "MOAIEnvironment.setValue('horizontalResolution', %d) MOAIEnvironment.setValue('verticalResolution', %d)" % (int(self.size().width()), int(self.size().height()))) # AKUSetWorkingDirectory() self.lua = getAKU().getLuaRuntime() getAKU().setFuncOpenWindow(self.openWindow)
def openWindow(self, title, width, height): self.makeCurrent() getAKU().detectGfxContext() w = self.size().width() h = self.size().height() getAKU().setScreenSize(w, h) getAKU().setViewSize(w, h) self.windowReady = True
def setOrientationLandscape(self): if self.window.isFloating(): pass #TODO getAKU().setOrientationLandscape()
def setOrientationPortrait(self): if self.window.isFloating(): pass #TODO getAKU().setOrientationPortrait()
def resizeView(self, w, h): self.viewWidth = w self.viewHeight = h getAKU().setScreenSize(w, h) getAKU().setViewSize(w, h)
def simStep(self): if self.windowReady: getAKU().update()
def paintGL(self): if self.windowReady: getAKU().render()
def resizeGL(self, w, h): if self.windowReady: logging.info('Game resizeGL ( %d x %d )' % (w, h)) getAKU().setScreenSize(w, h) getAKU().setViewSize(w, h)