def load(self): self.notify.debug('load') masterScale = 0.8 textScale = 0.1 * masterScale entryScale = 0.08 * masterScale lineHeight = 0.21 * masterScale buttonScale = 1.3 * masterScale buttonLineHeight = 0.16 * masterScale background = loader.loadModel('phase_3/models/gui/login-background') nameBalloon = loader.loadModel('phase_3/models/props/chatbox_input') guiButton = loader.loadModelOnce('phase_3/models/gui/quit_button') self.frame = DirectFrame(parent=aspect2d, relief=FLAT, image=background.find('**/create_account')) self.frame.hide() self.EMAIL_WIDTH = self.ENTRY_WIDTH linePos = 0.5 linePos -= lineHeight self.freeTrialLengthLabel = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.3), scale=1.09, text=Localizer.CreateAccountScreenFreeTrialLength % self.tcr.accountServerConstants.getString('freeTrialPeriodInDays'), text_scale=textScale, text_fg=(1, 1, 0, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.freeLabel = DirectLabel(parent=self.freeTrialLengthLabel, relief=None, pos=(0.02, 0, 0), text=Localizer.CreateAccountScreenFree, text_font=getMinnieFont(), text_scale=textScale, text_fg=(1, 1, 0, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) linePos -= lineHeight self.instructionsLabel = DirectLabel(parent=self.frame, relief=None, pos=(0, 0, linePos), text='', text_scale=textScale, text_fg=(1, 1, 0, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.instructionsLabel.hide() linePos -= lineHeight self.nameLabel = DirectLabel( parent=self.frame, relief=None, pos=(-0.21, 0, linePos), text=Localizer.CreateAccountScreenUserName, text_scale=textScale, text_align=TextNode.ARight, text_fg=self.labelFg, text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.nameEntry = DirectEntry(parent=self.frame, relief=None, image=nameBalloon, image1_color=self.InactiveEntryColor, scale=entryScale, pos=(-0.125, 0.0, linePos), width=maxLoginWidth, numLines=1, focus=0, cursorKeys=1) self.nameEntry.label = self.nameLabel linePos -= lineHeight self.passwordLabel = DirectLabel( parent=self.frame, relief=None, pos=(-0.21, 0, linePos), text=Localizer.CreateAccountScreenPassword, text_scale=textScale, text_align=TextNode.ARight, text_fg=self.labelFg, text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.passwordEntry = DirectEntry(parent=self.frame, relief=None, image=nameBalloon, image1_color=self.InactiveEntryColor, scale=entryScale, pos=(-0.125, 0.0, linePos), width=maxLoginWidth, numLines=1, focus=0, cursorKeys=1, obscured=1) self.passwordEntry.label = self.passwordLabel linePos -= lineHeight self.passwordConfirmLabel = DirectLabel( parent=self.frame, relief=None, pos=(-0.21, 0, linePos), text=Localizer.CreateAccountScreenConfirmPassword, text_scale=textScale, text_align=TextNode.ARight, text_fg=self.labelFg, text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.passwordConfirmEntry = DirectEntry( parent=self.frame, relief=None, image=nameBalloon, image1_color=self.InactiveEntryColor, scale=entryScale, pos=(-0.125, 0.0, linePos), width=maxLoginWidth, numLines=1, focus=0, cursorKeys=1, obscured=1) self.passwordConfirmEntry.label = self.passwordConfirmLabel linePos -= lineHeight self.dobLabel = DirectLabel( parent=self.frame, relief=None, pos=(-0.21, 0, linePos), text=Localizer.DateOfBirthEntryDefaultLabel, text_scale=textScale, text_align=TextNode.ARight, text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.dobEntry = DateOfBirthEntry(parent=self.frame, pos=(-0.02, 0, linePos), scale=textScale, defaultAge=0, curYear=self.tcr.dateObject.getYear()) self.dobEntry.label = self.dobLabel linePos -= lineHeight self.submitButton = DirectButton( parent=self.frame, relief=None, pos=(0, 0, linePos), scale=buttonScale, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), text=Localizer.CreateAccountScreenSubmit, text_scale=0.06, text_pos=(0, -0.02), image_scale=(1.3, 1.1, 1.1), command=self.__handleSubmit) linePos -= buttonLineHeight self.cancelButton = DirectButton( parent=self.frame, relief=None, pos=(0, 0, linePos), scale=buttonScale, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=(1.3, 1.1, 1.1), image0_color=Vec4(1, 0.1, 0.1, 1), image1_color=Vec4(1, 0.1, 0.1, 1), image2_color=Vec4(1, 1, 1, 1), text=Localizer.CreateAccountScreenCancel, text_scale=0.06, text_pos=(0, -0.02), command=self.__handleCancel) linePos -= buttonLineHeight self.dialogDoneEvent = 'createAccountDialogAck' self.dialog = ToontownDialog.GlobalDialog( dialogName='createAccountDialog', doneEvent=self.dialogDoneEvent, message='', style=ToontownDialog.Acknowledge, sortOrder=NO_FADE_SORT_INDEX + 100) self.dialog.hide() self.emailPanel = DirectFrame(relief=None, pos=(0, 0.1, 0), image=getDefaultDialogGeom(), image_color=GlobalDialogColor, image_scale=(1.55, 1.0, 1.0), sortOrder=NO_FADE_SORT_INDEX) lineHeight *= 0.7 linePos = 0.4 self.emailLabel = DirectLabel( parent=self.emailPanel, relief=None, pos=(0, 0, linePos), text=Localizer.CreateAccountScreenEmailInstructions, text_scale=0.06, text_align=TextNode.ACenter) self.emailLabelUnder13 = DirectLabel( parent=self.emailPanel, relief=None, pos=(0, 0, linePos - lineHeight * 0.8), text=Localizer.CreateAccountScreenEmailInstructionsUnder13, text_scale=0.06, text_align=TextNode.ACenter, text_wordwrap=25) linePos -= lineHeight * 2.95 self.emailEntry = DirectEntry(parent=self.emailPanel, relief=SUNKEN, scale=0.06, pos=(-0.61, 0, linePos), borderWidth=(0.1, 0.1), numLines=1, cursorKeys=1, frameSize=(-0.2, self.EMAIL_WIDTH, -0.4, 1.1), width=self.EMAIL_WIDTH, frameColor=(0.8, 0.8, 0.5, 1)) linePos -= lineHeight self.emailConfirmLabel = DirectLabel( parent=self.emailPanel, relief=None, pos=(0, 0, linePos), text=Localizer.CreateAccountScreenEmailConfirm, text_scale=0.06, text_align=TextNode.ACenter) linePos -= lineHeight self.emailConfirmEntry = DirectEntry( parent=self.emailPanel, relief=SUNKEN, scale=0.06, pos=(-0.61, 0, linePos), borderWidth=(0.1, 0.1), numLines=1, cursorKeys=1, frameSize=(-0.2, self.EMAIL_WIDTH, -0.4, 1.1), width=self.EMAIL_WIDTH, frameColor=(0.8, 0.8, 0.5, 1), command=self.__handleEmailConfirmEntry) linePos -= lineHeight self.emailOkButton = DirectButton( parent=self.emailPanel, relief=None, pos=(0, 0, linePos), scale=0.9, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), text=Localizer.CreateAccountScreenEmailPanelSubmit, text_scale=0.06, text_pos=(0, -0.02), image_scale=(1.3, 1.1, 1.1), command=self.__handleEmailSubmit) linePos -= lineHeight self.emailCancelButton = DirectButton( parent=self.emailPanel, relief=None, pos=(0, 0, linePos), scale=0.9, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=(1.3, 1.1, 1.1), image0_color=Vec4(1, 0.1, 0.1, 1), image1_color=Vec4(1, 0.1, 0.1, 1), image2_color=Vec4(1, 1, 1, 1), text=Localizer.CreateAccountScreenEmailPanelCancel, text_scale=0.06, text_pos=(0, -0.02), command=self.__handleEmailCancel) self.emailPanel.hide() guiButton.removeNode() background.removeNode() nameBalloon.removeNode() return
def load(self): guiButton = loader.loadModelOnce('phase_3/models/gui/quit_button') background = loader.loadModel('phase_3/models/gui/login-background') cogIcons = loader.loadModel('phase_3/models/gui/cog_icons') self.frame = DirectFrame(parent=aspect2d, relief=FLAT, image=background.find('**/member_agreement')) self.welcomeLabel = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.88), text=Localizer.MemberAgreementScreenWelcome, text_font=getMinnieFont(), text_scale=0.0935, text_fg=(1, 0.5, 0.1, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.onYourWayLabel = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.79), text=Localizer.MemberAgreementScreenOnYourWay, text_scale=0.0725, text_fg=(1, 1, 0, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.toontownLabel = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.67), text=Localizer.MemberAgreementScreenToontown, text_font=getMinnieFont(), text_scale=0.087, text_fg=(1, 0.5, 0.1, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) priceColor = (0, 0.9, 0, 1) if self.tcr.getCreditCardUpFront(): priceTextScale = 0.09 self.pricingLabel = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.558), text=Localizer.MemberAgreementScreenCCUpFrontPricing, text_scale=priceTextScale, text_fg=(1, 1, 0, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.freeTrialDuration = DirectLabel( parent=self.pricingLabel, relief=None, pos=(-0.36, 0, 0), text=self.tcr.accountServerConstants.getString( 'freeTrialPeriodInDays'), text_scale=priceTextScale, text_fg=priceColor, text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) priceFirstMonthPos = (0.92, 0, -0.18) pricePerMonthPos = (-0.11, 0, -0.27) else: priceTextScale = 0.1 self.pricingLabel = DirectLabel( parent=self.frame, relief=None, pos=(0, 0, 0.558), text=Localizer.MemberAgreementScreenPricing, text_scale=priceTextScale, text_fg=(1, 1, 0, 1), text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) priceFirstMonthPos = (0.52, 0, 0) pricePerMonthPos = (0.85, 0, -0.1) self.priceFirstMonth = DirectLabel( parent=self.pricingLabel, relief=None, pos=priceFirstMonthPos, text='$%s' % self.tcr.accountServerConstants.getString('priceFirstMonth'), text_scale=priceTextScale, text_fg=priceColor, text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.pricePerMonth = DirectLabel( parent=self.pricingLabel, relief=None, pos=pricePerMonthPos, text='$%s' % self.tcr.accountServerConstants.getString('pricePerMonth'), text_scale=priceTextScale, text_fg=priceColor, text_shadow=(0, 0, 0, 1), text_shadowOffset=(0.08, 0.08)) self.dobEntry = DateOfBirthEntry(parent=self.frame, pos=(0, 0, 0.26), scale=0.095, defaultAge=0, curYear=self.tcr.dateObject.getYear()) if not self.checkAge: self.dobEntry.hide() self.memAgreement = MultiPageTextFrame(parent=self.frame, relief=None, textList=self.legalText, hidePageNum=1, width=1.8, height=0.9, wordWrap=34, pos=(0, 0, -0.3)) self.cogIcon = DirectLabel(parent=self.memAgreement, relief=None, pos=(-0.75, 0, 0.3), scale=0.25, image=cogIcons.find('**/LegalIcon')) self.agreementTitle = DirectLabel( parent=self.memAgreement, relief=None, pos=(0.0426513, 0, 0.268794), scale=0.09, text=Localizer.MemberAgreementScreenAgreementTitle, text_font=getSuitFont(), text_wordwrap=10) self.clickNextLabel = DirectLabel( parent=self.memAgreement, relief=None, pos=(-0.325283, 0, -0.388257), scale=0.05, text=Localizer.MemberAgreementScreenClickNext) self.memAgreement.setPageChangeCallback(self.__handlePageChange) bottomButtonZ = -0.57 self.cancelButton = DirectButton( parent=self.memAgreement, relief=None, scale=1.1, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=(1, 1, 1), pos=(-0.5, 0, bottomButtonZ), text=Localizer.MemberAgreementScreenCancel, text_scale=0.06, text_pos=(0, -0.018), command=self.__handleCancel) self.declineButton = DirectButton( parent=self.memAgreement, relief=None, scale=1.1, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=(1, 1, 1), pos=(0, 0, bottomButtonZ), text=Localizer.MemberAgreementScreenDisagree, text_scale=0.06, text_pos=(0, -0.018), command=self.__handleDisagree) self.acceptButton = DirectButton( parent=self.memAgreement, relief=None, scale=1.1, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=(1, 1, 1), pos=(0.5, 0, bottomButtonZ), text=Localizer.MemberAgreementScreenAgree, text_scale=0.06, text_pos=(0, -0.018), command=self.__handleAgree) self.dialogDoneEvent = 'memberAgreementDialogAck' self.dialog = ToontownDialog.GlobalDialog( doneEvent=self.dialogDoneEvent, message='', style=ToontownDialog.Acknowledge) self.dialog.hide() self.mustAgreeDialog = DirectFrame( relief=None, pos=(0, 0.1, 0), image=getDefaultDialogGeom(), image_color=GlobalDialogColor, image_scale=(1.3, 1.0, 0.8), text=Localizer.MemberAgreementScreenYouMustAgree, text_scale=0.08, text_pos=(0.0, 0.2), text_wordwrap=15, sortOrder=NO_FADE_SORT_INDEX) self.mustAgreeDialog.hide() linePos = -0.13 buttonImageScale = 1.1 buttonLineHeight = 0.112 self.mustAgreeOkButton = DirectButton( parent=self.mustAgreeDialog, relief=None, pos=(0, 0, linePos), scale=0.9, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=buttonImageScale, text=Localizer.MemberAgreementScreenYouMustAgreeOk, text_scale=0.06, text_pos=(0, -0.02), command=self.__handleMustAgreeOk) linePos -= buttonLineHeight self.mustAgreeQuitButton = DirectButton( parent=self.mustAgreeDialog, relief=None, pos=(0, 0, linePos), scale=0.9, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=buttonImageScale, image0_color=Vec4(1, 0.1, 0.1, 1), image1_color=Vec4(1, 0.1, 0.1, 1), image2_color=Vec4(1, 1, 1, 1), text=Localizer.MemberAgreementScreenYouMustAgreeQuit, text_scale=0.06, text_pos=(0, -0.02), command=self.__handleMustAgreeQuit) linePos -= buttonLineHeight self.frame.hide() background.removeNode() guiButton.removeNode() cogIcons.removeNode() return