def MakeNextButton(self, button_type): if self.SKIN_NONE == self.skin: return yPos = event.GetEventSetLocalYPosition(self.descIndex) b = BarButton() b.SetParent(self.board) b.SetSize(100,26) b.SetPosition(self.sx+self.board.GetWidth()/2-50,self.sy+yPos) self.nextButtonType = button_type; import localeInfo if event.BUTTON_TYPE_CANCEL == button_type: b.SetEvent(lambda s=self:event.SelectAnswer(s.descIndex, 254) or s.OnCancel()) b.SetText(localeInfo.UI_CANCEL) elif event.BUTTON_TYPE_DONE == button_type: b.SetEvent(lambda s=self:s.CloseSelf()) b.SetText(localeInfo.UI_OK) elif event.BUTTON_TYPE_NEXT == button_type: b.SetEvent(lambda s=self:event.SelectAnswer(s.descIndex, 254) or s.CloseSelf()) b.SetText(localeInfo.UI_NEXT) b.Show() b.SetTextColor(0xffffffff) self.btnNext = b
def OnPressEscapeKey(self): if None != self.btnNext: if event.BUTTON_TYPE_CANCEL == self.nextButtonType: event.SelectAnswer(self.descIndex, 254) self.OnCancel() elif event.BUTTON_TYPE_DONE == self.nextButtonType: self.CloseSelf() elif event.BUTTON_TYPE_NEXT == self.nextButtonType: event.SelectAnswer(self.descIndex, 254) self.CloseSelf() else: event.SelectAnswer(self.descIndex, entire_questbutton_number - 1) self.nextbutton = None self.prevbutton = None self.CloseSelf() return True
def skipAnswers(event_answers, hook=False): """ Selects the event to be answers. if hook=True will avoid quest answers from showing on screen, the caller is then resposible for removing the hook afterwards by calling showAnswers. Args: event_answers ([list]): A list containing the index of the answers. hook ([boolean]): If true will hook quest answers, in order to not show it on screen. """ if hook: Hook.questHook.HookFunction() for index, answer in enumerate(event_answers, start=1): event.SelectAnswer(index, answer)
def OnPressEscapeKey(self): # ESC키가 눌린 경우 "다음" 버튼을 누른 것과 같은 효과를 내도록 함. if None != self.btnNext: ##퀘스트문자들이 전부다 나왔을경우의 ESC버튼 if event.BUTTON_TYPE_CANCEL == self.nextButtonType: event.SelectAnswer(self.descIndex, 254) self.CloseSelf() ## 아무 작업을 하지 않을때 elif event.BUTTON_TYPE_DONE == self.nextButtonType: self.CloseSelf() ## 엔터나 다음화면으로 넘어가려고 할경우 elif event.BUTTON_TYPE_NEXT == self.nextButtonType: event.SelectAnswer(self.descIndex, 254) self.CloseSelf() else: ## 도중에 꺼버리거나, ESC버튼이 나왓을경우 event.SelectAnswer(self.descIndex, entire_questbutton_number -1 ) self.nextbutton = None self.prevbutton = None self.OnCancel() return True
def ClickAnswerEvent(self, ai): event.SelectAnswer(self.descIndex, ai) self.nextbutton = None self.prevbutton = None self.CloseSelf()