def onUpdate(self, args): Menu.onUpdate(self, args) sinceAct = (self.currTime - self.actTime) / 1000.0 #print("Since=%.2f, curr=%d" % (sinceAct, self.curInd)) if self.curInd < 0 \ or (sinceAct > self.Messages[self.curInd].time + self.Messages[self.curInd].dur): # Next message : if none left, wait a little, and then switch to next menu. if self.curInd == len(self.Messages) - 1: if sinceAct > self.Messages[self.curInd].time + self.Messages[self.curInd].dur + 2.0: self.switchTo(MenuManager.get("Results")) else: self.prbProgress.hide() time.sleep(0.01) # Let the CPU keep cool (no hurry). # Next message : if at least one left ... else: self.curInd = self.curInd + 1 # Create and add the static text for the new message. scpItem = PyCEGUI.WindowManager.getSingleton().createWindow("CEGUIDemo/StaticText", "MenuLoading/ScpMessages/Msg%d" % self.curInd) scpItem.setText(self.Messages[self.curInd].txt + " ...") scpItem.setProperty("FrameEnabled", "false") scpItem.setProperty("BackgroundEnabled", "false") scpItem.setXPosition(PyCEGUI.UDim(0.0, 0.0)) scpItem.setYPosition(PyCEGUI.UDim(1.0 + self.curInd * 0.10, 0.0)) scpItem.setWidth(PyCEGUI.UDim(1.0, 0.0)) scpItem.setHeight(PyCEGUI.UDim(0.10, 0.0)) self.scpMessages.addChildWindow(scpItem) # Adjust alpha for all messages. nChildren = self.scpMessages.getContentPane().getChildCount() for chldInd in range(nChildren): txtChld = self.scpMessages.getContentPane().getChildAtIdx(chldInd) txtChld.setAlpha(0.85 ** (nChildren - 1 - chldInd)) # Scroll down to show the added static text. self.scpMessages.setVerticalScrollPosition(1.0) # Hide any scrollbar (might get shown after every call to addChildWindow). self.scpMessages.getVertScrollbar().hide() self.scpMessages.getHorzScrollbar().hide() # Reset progress-bar. self.prbProgress.setProgress(0) self.prbProgress.show() else: # Update progress-bar. progress = (sinceAct - self.Messages[self.curInd].time) / self.Messages[self.curInd].dur self.prbProgress.setProgress(progress)
def onStartButtonClicked(self, args): self.switchTo(MenuManager.get("Loading"))
def onSingleEventButtonClicked(self, args): self.switchTo(MenuManager.get("TrackSelect"))
def onQuickRaceButtonClicked(self, args): self.switchTo(MenuManager.get("TrackSelect"))
def setupInterface(self): MenuManager.get("Main").activate()
def onContinueButtonClicked(self, args): self.switchTo(MenuManager.get("Main"))
def onOptionsButtonClicked(self, args): self.switchTo(MenuManager.get("Options"))
def onProfilesButtonClicked(self, args): self.switchTo(MenuManager.get("Profiles"))
def onCreditsButtonClicked(self, args): self.switchTo(MenuManager.get("Credits"))
def onNextButtonClicked(self, args): self.switchTo(MenuManager.get("CarSelect"))
def onUpdate(self, args): Menu.onUpdate(self, args) sinceAct = (self.currTime - self.actTime) / 1000.0 #print("Since=%.2f, curr=%d" % (sinceAct, self.curInd)) if self.curInd < 0 \ or (sinceAct > self.Messages[self.curInd].time + self.Messages[self.curInd].dur): # Next message : if none left, wait a little, and then switch to next menu. if self.curInd == len(self.Messages) - 1: if sinceAct > self.Messages[self.curInd].time + self.Messages[ self.curInd].dur + 2.0: self.switchTo(MenuManager.get("Results")) else: self.prbProgress.hide() time.sleep(0.01) # Let the CPU keep cool (no hurry). # Next message : if at least one left ... else: self.curInd = self.curInd + 1 # Create and add the static text for the new message. scpItem = PyCEGUI.WindowManager.getSingleton().createWindow( "CEGUIDemo/StaticText", "MenuLoading/ScpMessages/Msg%d" % self.curInd) scpItem.setText(self.Messages[self.curInd].txt + " ...") scpItem.setProperty("FrameEnabled", "false") scpItem.setProperty("BackgroundEnabled", "false") scpItem.setXPosition(PyCEGUI.UDim(0.0, 0.0)) scpItem.setYPosition( PyCEGUI.UDim(1.0 + self.curInd * 0.10, 0.0)) scpItem.setWidth(PyCEGUI.UDim(1.0, 0.0)) scpItem.setHeight(PyCEGUI.UDim(0.10, 0.0)) self.scpMessages.addChildWindow(scpItem) # Adjust alpha for all messages. nChildren = self.scpMessages.getContentPane().getChildCount() for chldInd in range(nChildren): txtChld = self.scpMessages.getContentPane().getChildAtIdx( chldInd) txtChld.setAlpha(0.85**(nChildren - 1 - chldInd)) # Scroll down to show the added static text. self.scpMessages.setVerticalScrollPosition(1.0) # Hide any scrollbar (might get shown after every call to addChildWindow). self.scpMessages.getVertScrollbar().hide() self.scpMessages.getHorzScrollbar().hide() # Reset progress-bar. self.prbProgress.setProgress(0) self.prbProgress.show() else: # Update progress-bar. progress = (sinceAct - self.Messages[self.curInd].time ) / self.Messages[self.curInd].dur self.prbProgress.setProgress(progress)