def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) size = 24 self.ramps = uiprimitives.Container(parent=self, name='ramps', pos=(0, 0, size, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) leftRampCont = uiprimitives.Container(parent=self.ramps, name='leftRampCont', pos=(0, 0, size / 2, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED, clipChildren=True) self.leftRamp = uiprimitives.Transform(parent=leftRampCont, name='leftRamp', pos=(0, 0, size, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) uiprimitives.Sprite(parent=self.leftRamp, name='rampSprite', pos=(0, 0, size / 2, size), state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/TiDiIndicator/left.png', color=(0, 0, 0, 0.5)) rightRampCont = uiprimitives.Container(parent=self.ramps, name='rightRampCont', pos=(0, 0, size / 2, size), align=uiconst.TOPRIGHT, state=uiconst.UI_DISABLED, clipChildren=True) self.rightRamp = uiprimitives.Transform(parent=rightRampCont, name='rightRamp', pos=(-size / 2, 0, size, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) uiprimitives.Sprite(parent=self.rightRamp, name='rampSprite', pos=(size / 2, 0, size / 2, size), state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/TiDiIndicator/right.png', color=(0, 0, 0, 0.5)) self.coloredPie = uiprimitives.Sprite(parent=self, name='tidiColoredPie', pos=(0, 0, size, size), texturePath='res:/UI/Texture/classes/TiDiIndicator/circle.png', state=uiconst.UI_DISABLED, color=(1, 1, 1, 0.5))
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.hintClass = attributes.get('hintClass', self.default_hintClass) self.state = uiconst.UI_PICKCHILDREN self.timerHint = None self.showHint = False self.expiryTime = None self.iconBlink = None self.rewind = False self.ratio = 0.0 self.counterText = None self.animationThread = None self.timerType = attributes.Get('timerType') self.timerData = attributes.get('timerData', CRIMEWATCH_TIMER_DATA[attributes.Get('timerType')]) self.GetTime = self.timerData.timerFunc self.activeAnimationCurves = None self.callback = attributes.get('callback', None) self.content = uiprimitives.Transform(parent=self, name='content', align=uiconst.TOPLEFT, pos=(0, 0, 32, 32), state=uiconst.UI_NORMAL) self.content.OnMouseEnter = self.OnMouseEnter self.iconTransform = uiprimitives.Transform(parent=self.content, name='iconTransform', align=uiconst.CENTER, width=16, height=16, state=uiconst.UI_DISABLED) self.icon = uiprimitives.Sprite(name='icon', parent=self.iconTransform, pos=(0, 0, 16, 16), texturePath=self.timerData.icon, color=self.timerData.color, state=uiconst.UI_DISABLED, align=uiconst.CENTER) self.gaugeCircular = GaugeCircular(parent=self.content, radius=16, align=uiconst.CENTER, colorStart=self.timerData.color, colorEnd=self.timerData.color, colorBg=Color(*self.timerData.color).SetAlpha(ALPHA_EMPTY).GetRGBA(), lineWidth=2.5, clockwise=False, showMarker=False, state=uiconst.UI_DISABLED) self.pointerContainer = uiprimitives.Transform(name='pointer_container', parent=self.content, width=32, height=32, idx=0) self.pointerClipper = uiprimitives.Container(parent=self.pointerContainer, pos=(9, -10, 15, 13), clipChildren=True, align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) self.pointerSprite = uiprimitives.Sprite(name='cycle_pointer', parent=self.pointerClipper, pos=(0, 0, 15, 19), texturePath='res:/UI/Texture/Crimewatch/Crimewatch_TimerPoint_WithShadow.png', color=self.timerData.color, align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) self.iconTransform.scalingCenter = (0.5, 0.5) uicore.animations.Tr2DScaleTo(self.iconTransform, startScale=(0.8, 0.8), endScale=(1.0, 1.0), duration=0.75, curveType=uiconst.ANIM_OVERSHOT)
def setup_busy_indicator(self): count = 0 prevRotation = 0 delta = 1.04719755 self.busy_indicator_container = uiprimitives.Container(name='busyIndicatorContainer', parent=self.processing_container, bgTexturePath='res:/UI/Texture/classes/ProjectDiscovery/busyIndicatorCircle.png', width=36, height=36, align=uiconst.CENTERLEFT, left=120) self.busy_indicator_hex = uiprimitives.Transform(name='busyIndicatorHex', parent=self.busy_indicator_container, bgTexturePath='res:/UI/Texture/classes/ProjectDiscovery/busyIndicatorHex.png', width=10, height=10, align=uiconst.CENTER) animations.Tr2DRotateTo(self.busy_indicator_hex, endAngle=self.busy_indicator_hex.rotation - delta, loops=uiconst.ANIM_REPEAT) while count < 6: count += 1 triangle = uiprimitives.Transform(name='busyIndicatorTriangle', parent=self.busy_indicator_container, bgTexturePath='res:/UI/Texture/classes/ProjectDiscovery/busyIndicatorTriangle.png', width=8, height=8, align=uiconst.CENTER, top=12, rotationCenter=(0.5, -1.0), rotation=prevRotation + delta) prevRotation = triangle.rotation animations.Tr2DRotateTo(triangle, startAngle=triangle.rotation, endAngle=triangle.rotation - delta, loops=uiconst.ANIM_REPEAT)
def setup_layout(self): self.dialogue_container = uiprimitives.Container(name='dialogue_container', parent=self.parent, idx=0) self.left_main_container = uiprimitives.Container(name='left_main_container', parent=self, align=uiconst.TOLEFT_PROP, width=0.5, clipChildren=True, top=20) self.category_container = uiprimitives.Container(name='category_container', parent=self, align=uiconst.TOLEFT_PROP, width=0.5, padTop=45, clipChildren=True) self.loading_container = uiprimitives.Container(name='loadingContainer', parent=self.category_container, align=uiconst.CENTER, width=100, height=100, state=uiconst.UI_HIDDEN) self.loading_result_label = themeColored.LabelThemeColored(name='loadingResultLabel', parent=self.loading_container, align=uiconst.CENTERTOP, text=localization.GetByLabel('UI/ProjectDiscovery/LoadingResultLabel'), fontsize=20) self.loading_wheel = LoadingWheel(name='ResultLoadingIndicator', parent=self.loading_container, align=uiconst.CENTER, width=64, height=64) self.error_container = uiprimitives.Container(parent=self.category_container, align=uiconst.CENTER, width=100, height=100, state=uiconst.UI_HIDDEN) self.error_label = themeColored.LabelThemeColored(parent=self.error_container, align=uiconst.CENTERTOP, text=localization.GetByLabel('UI/ProjectDiscovery/LoadingResultErrorLabel'), fontsize=20) self.task_label = themeColored.LabelThemeColored(parent=self.left_main_container, align=uiconst.CENTERTOP, text=localization.GetByLabel('UI/ProjectDiscovery/TaskLabel'), top=40, fontsize=28, opacity=1) self.task_image = TaskImage(label=const.Texts.TaskImageLabel, parent=self.left_main_container, align=uiconst.TOPLEFT_PROP, pos=(25, 80, 420, 445), starting_scale=self.starting_scale) self.checkbox_container = uiprimitives.Container(name='checkboxContainer', parent=self.task_image, align=uiconst.BOTTOMLEFT, width=110, height=20, left=8, top=10) self.report_checkbox = uicontrols.Checkbox(name='reportCheckbox', parent=self.checkbox_container, text=localization.GetByLabel('UI/ProjectDiscovery/ReportCheckboxLabel')) SetTooltipHeaderAndDescription(self.report_checkbox, headerText=localization.GetByLabel('UI/ProjectDiscovery/AbnormalSampleTooltipHeader'), descriptionText=localization.GetByLabel('UI/ProjectDiscovery/AbnormalSampleTooltipDescription')) self.result_window = ResultWindow(name='ResultWindow', parent=self.parent, align=uiconst.TOALL, opacity=0, isTrainingPhase=False, starting_scale=self.starting_scale, bottom_container=self.bottom_container) self.rewards_view = RewardsView(parent=self.parent.parent, opacity=0, align=uiconst.TOALL, playerState=self.playerState, bottom_container=self.bottom_container, idx=1, state=uiconst.UI_DISABLED) self.processing_view = ProcessingView(parent=self.parent.parent, opacity=0, idx=2, state=uiconst.UI_DISABLED) self.category_selector = CategorySelector(categories=nested_categories_from_json(PROJECT_INFO['info']['classes']), parent=self.category_container, state=uiconst.UI_DISABLED, starting_scale=self.starting_scale) self.main_button_container = uiprimitives.Container(name='main_button_container', parent=self.bottom_container, align=uiconst.CENTERBOTTOM, width=355, height=53, bgTexturePath='res:/UI/Texture/classes/ProjectDiscovery/footerBG.png') self.submit_button_container = uiprimitives.Container(name='submitButtonContainer', parent=self.main_button_container, width=250, align=uiconst.CENTER, height=40, top=5) self.submit_button = uicontrols.Button(name='SubcellularSubmitButton', parent=self.submit_button_container, align=uiconst.CENTER, label=localization.GetByLabel('UI/ProjectDiscovery/SubmitButtonLabel'), fontsize=18, fixedwidth=170, fixedheight=30, func=lambda x: self.submit_solution()) uiprimitives.Sprite(parent=self.submit_button_container, align=uiconst.CENTERLEFT, width=34, height=20, texturePath='res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7) uiprimitives.Sprite(parent=uiprimitives.Transform(parent=self.submit_button_container, align=uiconst.CENTERRIGHT, width=34, height=20, rotation=math.pi), align=uiconst.CENTERRIGHT, width=34, height=20, texturePath='res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7) self.task_id = uicontrols.Label(name='TaskID', parent=self.bottom_container, align=uiconst.BOTTOMRIGHT, height=20, opacity=0, left=10) self.new_task_button = uicontrols.ButtonIcon(name='newTaskButton', parent=self.left_main_container, align=uiconst.TOPLEFT, texturePath='res:/UI/Texture/classes/ProjectDiscovery/recycleButtonUp.png', hoverTexture='res:/UI/Texture/classes/ProjectDiscovery/recycleButtonOver.png', downTexture='res:/UI/Texture/classes/ProjectDiscovery/recycleButtonDown.png', iconSize=24, func=lambda : self.reset_and_get_new_task(), idx=0, left=32, top=54) SetTooltipHeaderAndDescription(self.new_task_button, headerText='', descriptionText=localization.GetByLabel('UI/ProjectDiscovery/NewTaskButtonTooltipDescription'))
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.pinned = False self.isSelected = False self.canBeModified = attributes.get('canBeModified', True) self.safetyLevel = attributes.get('safetyLevel') self.data = SAFETY_LEVEL_DATA_MAP[self.safetyLevel] self.normalHint = localization.GetByLabel( self.data.safetySelectionHint) self.lockedHint = localization.GetByLabel( self.data.safetySelectionHintLocked) cont = uiprimitives.Container(name='content', parent=self, padding=3) self.text = uicontrols.EveHeaderSmall( name='buttonLabel', parent=cont, color=self.data.color.GetRGBA(), text=localization.GetByLabel(self.data.buttonText), align=uiconst.CENTER, opacity=DESELECTED_BUTTON_OPACITY, bold=True) self.defaultSprite = uiprimitives.Sprite( parent=self, name='default', texturePath='res:/UI/Texture/Crimewatch/SafetyButton_Default.png', align=uiconst.TOALL, state=uiconst.UI_DISABLED, color=self.data.color.GetRGBA(), opacity=DESELECTED_BUTTON_OPACITY) self.highlightSprite = uiprimitives.Sprite( parent=self, name='highlight', texturePath='res:/UI/Texture/Crimewatch/SafetyButton_Highlight.png', align=uiconst.TOALL, state=uiconst.UI_DISABLED, color=self.data.color.GetRGBA()) self.highlightSprite.Hide() self.leftArrowSprite = uiprimitives.Sprite( parent=self, name='leftArrows', texturePath='res:/UI/Texture/Crimewatch/Safety_Selection.png', align=uiconst.CENTERLEFT, pos=(-24, 0, 16, 13), state=uiconst.UI_DISABLED, color=self.data.color.GetRGBA(), opacity=0.0) self.rightArrows = uiprimitives.Transform(parent=self, name='rightArrowsTranform', align=uiconst.CENTERRIGHT, pos=(-24, 0, 16, 13), state=uiconst.UI_DISABLED, rotation=pi) self.rightArrowSprite = uiprimitives.Sprite( parent=self.rightArrows, name='rightArrows', texturePath='res:/UI/Texture/Crimewatch/Safety_Selection.png', align=uiconst.CENTERRIGHT, pos=(0, 0, 16, 13), state=uiconst.UI_DISABLED, color=self.data.color.GetRGBA(), opacity=0.0)
def DrawPointer(self, alignToTop): pointerWidth = DOCK_POINTER_LENGTH * 2 pointerSideWidth = int(DOCK_POINTER_LENGTH * 2 / sqrt(2)) pointerSideWidthHalf = pointerSideWidth / 2 if alignToTop: clipperAlign = uiconst.CENTERTOP transformAlign = uiconst.CENTERBOTTOM else: clipperAlign = uiconst.CENTERBOTTOM transformAlign = uiconst.CENTERTOP clipperCont = uiprimitives.Container(name='clipper', parent=self, width=pointerWidth, height=DOCK_POINTER_LENGTH, clipChildren=True, align=clipperAlign, top=-DOCK_POINTER_LENGTH) transform = uiprimitives.Transform(name='transform', parent=clipperCont, align=transformAlign, rotation=pi / 4, width=pointerSideWidth, height=pointerSideWidth, top=-pointerSideWidthHalf) FillThemeColored(bgParent=transform, opacity=OPACITY_BG)
def ApplyAttributes(self, attributes): uiprimitives.Transform.ApplyAttributes(self, attributes) text = attributes.text self.func = attributes.func self.actionID = attributes.actionID self.isEnabled = attributes.isEnabled isReversed = attributes.get('isReversed', self.default_isReversed) color = COLOR_BRACKET colorGradient = util.Color(*color).SetBrightness(0.4).SetAlpha(self.GRADIENT_ALPHA_IDLE).GetRGBA() colorEdges = util.Color(*color).SetBrightness(0.5).GetRGBA() self.mainTransform = uiprimitives.Transform(name='mainTransform', parent=self, align=uiconst.TOALL, scalingCenter=(0.5, 0.5), scale=((1, -1)[isReversed], 1.0)) topCont = uiprimitives.Container(name='topCont', parent=self.mainTransform, align=uiconst.TOTOP, height=5, state=uiconst.UI_DISABLED) uiprimitives.Sprite(name='topGradientLeft', parent=topCont, texturePath='res:/UI/Texture/Classes/EntityBracket/topGradientLeft.png', align=uiconst.TOLEFT, width=57, color=colorEdges) uiprimitives.Sprite(name='topWedge', parent=topCont, texturePath='res:/UI/Texture/Classes/EntityBracket/topWedge.png', align=uiconst.TORIGHT, width=55, color=colorEdges) uiprimitives.Sprite(name='topMiddle', parent=topCont, texturePath='res:/UI/Texture/Classes/EntityBracket/topMiddle.png', align=uiconst.TOALL, color=colorEdges) self.wedge = uiprimitives.Sprite(name='wedge', parent=topCont, texturePath='res:/UI/Texture/Classes/EntityBracket/wedge.png', align=uiconst.TOPRIGHT, pos=(11, self.WEDGE_TOP, 33, 4), color=color) bottomCont = uiprimitives.Container(name='bottomCont', parent=self.mainTransform, align=uiconst.TOBOTTOM, height=4, state=uiconst.UI_DISABLED) uiprimitives.Sprite(name='bottomWedgeLeft', parent=bottomCont, texturePath='res:/UI/Texture/Classes/EntityBracket/bottomWedgeLeft.png', align=uiconst.TOLEFT, width=57, color=colorEdges) uiprimitives.Sprite(name='bottom', parent=bottomCont, texturePath='res:/UI/Texture/Classes/EntityBracket/bottom.png', align=uiconst.TOALL, color=colorEdges) self.gradient = uiprimitives.Container(name='gradientCont', parent=self.mainTransform, state=uiconst.UI_DISABLED, padTop=-3, padBottom=-3) gradientTopCont = uiprimitives.Container(name='gradientTopCont', align=uiconst.TOTOP, parent=self.gradient, height=4) uiprimitives.Sprite(name='gradientTopWedge', parent=gradientTopCont, texturePath='res:/UI/Texture/Classes/EntityBracket/gradientTopWedge.png', align=uiconst.TORIGHT, width=55, color=colorGradient) uiprimitives.Sprite(name='gradientTop', parent=gradientTopCont, texturePath='res:/UI/Texture/Classes/EntityBracket/gradientTop.png', align=uiconst.TOALL, color=colorGradient) gradientBottomCont = uiprimitives.Container(name='gradientBottomCont', align=uiconst.TOBOTTOM, parent=self.gradient, height=3) uiprimitives.Sprite(name='gradientBottomWedge', parent=gradientBottomCont, texturePath='res:/UI/Texture/Classes/EntityBracket/gradientBottomWedge.png', align=uiconst.TOLEFT, width=57, color=colorGradient) uiprimitives.Sprite(name='gradientBottom', parent=gradientBottomCont, texturePath='res:/UI/Texture/Classes/EntityBracket/gradientBottom.png', align=uiconst.TOALL, color=colorGradient) uiprimitives.Sprite(name='gradientTopWedge', parent=self.gradient, texturePath='res:/UI/Texture/Classes/EntityBracket/gradientMiddle.png', align=uiconst.TOALL, color=colorGradient) self.label = uicontrols.Label(parent=self, align=uiconst.CENTER, text=text, top=1, fontsize=16, color=color) self.width = max(self.label.width + 60, 150) if not self.isEnabled: self.mainTransform.opacity = self.label.opacity = 0.2
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self._spinning = False self._lastAngle = 0.0 self._tickGap = 0.0 self._options = None self._value = None self._lastRotationDelta = None self._didSpin = False self._wheelbuffer = 0 self._wheeling = False for each in uicore.layer.main.children[:]: if each.name == self.default_name: each.Close() if attributes.parent is None: uicore.layer.main.children.append(self) transform = uiprimitives.Transform(parent=self, pos=(0, 0, self.TEXTURESIZE, self.TEXTURESIZE), align=uiconst.CENTER, state=uiconst.UI_DISABLED, name='mainTransform') self.sr.mainTransform = transform sprite = uiprimitives.Sprite(parent=transform, align=uiconst.TOALL, texturePath='res:/UI/Texture/spinWheelPicker_main.dds') self.sr.mainTransform = transform self.sr.marker = uiprimitives.Fill(parent=self, align=uiconst.CENTER, pos=(0, -64, 2, 16), color=(1.0, 1.0, 1.0, 1.0), idx=0) options = attributes.Get('options', [(True, None)] + [ (False, i) for i in xrange(60) ]) activeOptionIndex = attributes.Get('activeOptionIndex', 4) self.LoadOptions(options, activeOptionIndex) setvalueCallback = attributes.Get('OnSetValue', None) if setvalueCallback: self.OnSetValue = setvalueCallback
def LoadOptions(self, options, activeOptionIndex = 0): for each in self.sr.mainTransform.children[:]: if each.name == 'tick': each.Close() self._options = options step = math.pi * 2 / len(self._options) self._tickGap = step angle = 0.0 activeRotation = 0.0 for i, each in enumerate(self._options): isZero, args = each markerTransform = uiprimitives.Transform(parent=self.sr.mainTransform, pos=(0, 0, self.MARKERTFSIZE, self.MARKERTFSIZE), align=uiconst.CENTER, state=uiconst.UI_DISABLED, name='tick', rotation=angle + math.pi * 0.25, idx=0) sprite = uiprimitives.Sprite(parent=markerTransform, align=uiconst.TOPRIGHT, pos=(0, 0, 16, 16), color=(0.0, 0.0, 0.0, 1.0), texturePath='res:/UI/Texture/spinWheelPicker_marker2.dds') if i == activeOptionIndex: activeRotation = angle angle += step if isZero: sprite.texture.resPath = 'res:/UI/Texture/CharacterCreation/ovalSlider_Filler.dds' sprite.SetRGB(1.0, 0.0, 0.0) sprite.top = 2 sprite.left = 2 if activeRotation: def UpdateMarker(_None, newAngle): self.sr.mainTransform.SetRotation(newAngle) currentAngle = self.sr.mainTransform.GetRotation() uicore.effect.MorphUIMassSpringDamper(None, None, activeRotation, newthread=False, frequency=15.0, dampRatio=0.5, callback=UpdateMarker, initVal=currentAngle) self.SettleOnTick()
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.btnData = attributes.btnData self.btnNum = attributes.btnNum self.width = attributes.width self._isDraggable = attributes.get('isDraggable', self.default_isDraggable) self._openNeocomPanel = None self.height = self.width self.top = self.height * self.btnNum self.panel = None self.blinkThread = None self.realTop = self.top self.dragEventCookie = None self.disableClick = False self.iconSize = self.height - 2 * self.PADVERTICAL self.iconTransform = uiprimitives.Transform(name='iconTransform', parent=self, align=uiconst.TOALL, scalingCenter=(0.5, 0.5)) self.iconLabelCont = None if self.btnData.id == 'map_beta': Sprite(parent=self.iconTransform, align=uiconst.TOPLEFT, pos=(0, 0, 11, 29), texturePath='res:/UI/Texture/Shared/betaTag.png', state=uiconst.UI_DISABLED) self.icon = GlowSprite(parent=self.iconTransform, name='icon', state=uiconst.UI_DISABLED, align=uiconst.CENTER, width=self.iconSize, height=self.iconSize, iconOpacity=1.0) self.UpdateIcon() PAD = 1 self.blinkSprite = SpriteUnderlay(bgParent=self, name='blinkSprite', texturePath='res:/UI/Texture/classes/Neocom/buttonBlink.png', state=uiconst.UI_HIDDEN, colorType=uiconst.COLORTYPE_UIHILIGHTGLOW) self.activeFrame = FrameUnderlay(bgParent=self, name='hoverFill', texturePath='res:/UI/Texture/classes/Neocom/buttonActive.png', cornerSize=5, state=uiconst.UI_HIDDEN, colorType=uiconst.COLORTYPE_UIHILIGHTGLOW) self.CheckIfActive() self.dropFrame = uicontrols.Frame(parent=self, name='hoverFrame', color=util.Color.GetGrayRGBA(1.0, 0.5), state=uiconst.UI_HIDDEN) sm.RegisterNotify(self)
def _Minimize(self, animate=True): if self.destroyed or self.IsMinimized(): return self.OnStartMinimize_(self) self._changing = True self._SetMinimized(True) uicore.registry.CheckMoveActiveState(self) if animate: x, y = sm.GetService('neocom').GetMinimizeToPos(self) x = float(x) / uicore.desktop.width y = float(y) / uicore.desktop.height t = uiprimitives.Transform(parent=uicore.layer.main, state=uiconst.UI_DISABLED, align=uiconst.TOALL, scalingCenter=(x, y), idx=0) wasCacheContent = self.cacheContents self.cacheContents = False self.SetParent(t) uicore.animations.Tr2DFlipOut(t, duration=0.3) uicore.animations.FadeOut(t, duration=0.25, sleep=True) self.SetParent(uicore.layer.main) self.cacheContents = wasCacheContent t.Close() self.state = uiconst.UI_HIDDEN self.OnEndMinimize_(self) self._changing = False sm.ScatterEvent('OnWindowMinimized', self)
def ApplyAttributes(self, attributes): uiprimitives.Transform.ApplyAttributes(self, attributes) groupParent = uiprimitives.Transform(parent=self, name='groupParent', pos=(-10, 14, 16, 16), align=uiconst.CENTER, state=uiconst.UI_PICKCHILDREN) groupMark = uicontrols.Icon(parent=groupParent, name='groupMark', pos=(0, 0, 20, 20), align=uiconst.TOPLEFT) iconParent = uiprimitives.Transform(parent=self, name='iconParent', align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED, pos=(0, 0, self.width, self.height)) icon = uicontrols.Icon(parent=iconParent, name='icon', pos=(8, 8, 8, 8), align=uiconst.TOALL, state=uiconst.UI_NORMAL) underlay = uicontrols.Icon(parent=self, name='underlay', align=uiconst.TOALL, state=uiconst.UI_DISABLED, padding=(-10, -5, -10, -5), icon='ui_81_64_1', filter=True) chargeIndicator = uicontrols.Icon(parent=self, name='chargeIndicator', padTop=-2, height=7, align=uiconst.TOTOP, state=uiconst.UI_HIDDEN, icon='ui_81_64_2', ignoreSize=True) chargeIndicator.rectWidth = 44 chargeIndicator.rectHeight = 7 self.sr.underlay = underlay self.sr.chargeIndicator = chargeIndicator self.sr.flagIcon = icon self.sr.groupMark = groupMark
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.state = uiconst.UI_HIDDEN self.initialized = False size = 24 self.ramps = uiprimitives.Container(parent=self, name='ramps', pos=(0, 0, size, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) leftRampCont = uiprimitives.Container(parent=self.ramps, name='leftRampCont', pos=(0, 0, size / 2, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED, clipChildren=True) self.leftRamp = uiprimitives.Transform(parent=leftRampCont, name='leftRamp', pos=(0, 0, size, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) uiprimitives.Sprite(parent=self.leftRamp, name='rampSprite', pos=(0, 0, size / 2, size), state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/TiDiIndicator/left.png', color=(0.0, 0.0, 0.0, 0.55)) rightRampCont = uiprimitives.Container(parent=self.ramps, name='rightRampCont', pos=(0, 0, size / 2, size), align=uiconst.TOPRIGHT, state=uiconst.UI_DISABLED, clipChildren=True) self.rightRamp = uiprimitives.Transform(parent=rightRampCont, name='rightRamp', pos=(-size / 2, 0, size, size), align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) uiprimitives.Sprite(parent=self.rightRamp, name='rampSprite', pos=(size / 2, 0, size / 2, size), state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/TiDiIndicator/right.png', color=(0.0, 0.0, 0.0, 0.55)) self.coloredPie = uiprimitives.Sprite(parent=self, name='tidiColoredPie', pos=(0, 0, size, size), texturePath='res:/UI/Texture/classes/TiDiIndicator/circle.png', color=(0, 1, 0, 1), state=uiconst.UI_DISABLED) background = uiprimitives.Sprite(parent=self, name='tidiBackground', pos=(0, 0, size, size), texturePath='res:/UI/Texture/classes/TiDiIndicator/shadow.png', color=(0.2, 0.2, 0.2, 0.5), state=uiconst.UI_DISABLED) uthread.new(self.Animate)
def setup_layout(self): self.processing_container = uiprimitives.Container(name='processingContainer', parent=self, width=842, height=70, align=uiconst.CENTER) self.expandGradient = uiprimitives.Sprite(name='ExpandGradient', parent=self, align=uiconst.CENTER, width=842, height=48, texturePath='res:/UI/Texture/classes/ProjectDiscovery/expandGradient.png') self.expandTopContainer = uiprimitives.Container(name='expandTopContainer', parent=self.processing_container, width=842, height=11, align=uiconst.TOTOP) uiprimitives.Sprite(name='expandTop', parent=self.expandTopContainer, texturePath='res:/UI/Texture/classes/ProjectDiscovery/expandTop.png', width=174, height=5, align=uiconst.CENTERTOP, top=5) uiprimitives.Sprite(parent=self.expandTopContainer, texturePath='res:/UI/Texture/classes/ProjectDiscovery/expandBrackets.png', width=620, height=3, align=uiconst.CENTERTOP, top=11) self.expandBottomContainer = uiprimitives.Transform(name='expandBottomContainer', parent=self.processing_container, width=842, height=11, align=uiconst.TOBOTTOM, rotation=math.pi) uiprimitives.Sprite(parent=self.expandBottomContainer, texturePath='res:/UI/Texture/classes/ProjectDiscovery/expandTop.png', width=174, height=5, align=uiconst.CENTERBOTTOM) uiprimitives.Sprite(parent=self.expandBottomContainer, texturePath='res:/UI/Texture/classes/ProjectDiscovery/expandBrackets.png', width=620, height=3, align=uiconst.CENTERTOP, top=11) self.originalTranslationTop = self.expandTopContainer.translation self.originalTranslationBot = self.expandBottomContainer.translation
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) texturePath = attributes.get('texturePath', self.default_texturePath) self.orgTop = None self.pickRadius = self.width / 2 self.icon = uicontrols.Icon(parent=self, name='icon', pos=(0, 0, 32, 32), align=uiconst.CENTER, state=uiconst.UI_DISABLED, icon=texturePath) self.transform = uiprimitives.Transform(parent=self, name='icon', pos=(0, 0, 32, 32), align=uiconst.CENTER, state=uiconst.UI_DISABLED) self.hilite = uiprimitives.Sprite(parent=self, name='hilite', align=uiconst.TOALL, state=uiconst.UI_HIDDEN, texturePath='res:/UI/Texture/classes/ShipUI/utilBtnBaseAndShadow.png', color=(0.63, 0.63, 0.63, 1.0), blendMode=trinity.TR2_SBM_ADD) slot = uiprimitives.Sprite(parent=self, name='slot', align=uiconst.TOALL, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/ShipUI/utilBtnBaseAndShadow.png') self.busyContainer = uiprimitives.Container(parent=self, name='busyContainer', align=uiconst.TOALL, clipChildren=True) self.busy = uiprimitives.Sprite(parent=self.busyContainer, name='busy', align=uiconst.TOPLEFT, width=36, height=36, state=uiconst.UI_HIDDEN, texturePath='res:/UI/Texture/classes/ShipUI/utilBtnGlow.png', color=(0.27, 0.72, 1.0, 0.53)) self.blinkBG = uiprimitives.Sprite(parent=self, name='blinkBG', align=uiconst.TOALL, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/ShipUI/utilBtnGlow.png', opacity=0.0, blendMode=trinity.TR2_SBM_ADD)
def setup_layout(self): self.left_main_container = uiprimitives.Container(name='left_main_container', parent=self, align=uiconst.TOLEFT_PROP, width=0.5, clipChildren=True, top=20) self.task_label = themeColored.LabelThemeColored(parent=self.left_main_container, align=uiconst.CENTERTOP, text=localization.GetByLabel('UI/ProjectDiscovery/Subcellular/ResultScreen/WindowHeaderText'), top=40, fontsize=28) self.category_container = uiprimitives.Container(name='category_container', parent=self, align=uiconst.TOLEFT_PROP, width=0.5, padTop=45, clipChildren=True) self.categories_selected = CategorySelector(categories=nested_categories_from_json(PROJECT_INFO['info']['classes']), parent=self.category_container, state=uiconst.UI_DISABLED, starting_scale=self.starting_scale) self.legend_container = uiprimitives.Container(name='legendContainer', parent=self.category_container, width=100, height=28, align=uiconst.BOTTOMRIGHT, opacity=0, top=93, left=-5, idx=0) self.legend_icon = LegendIcon(name='legendIcon', parent=self.legend_container, texturePath='res:/UI/Texture/classes/ProjectDiscovery/helpTooltipUp.png', align=uiconst.TOLEFT, width=28, height=28) self.legend_label = uicontrols.Label(parent=self.legend_container, align=uiconst.CENTERLEFT, text=localization.GetByLabel('UI/ProjectDiscovery/Subcellular/ResultScreen/LegendIconLabel'), left=30, height=15) self.main_button_container = uiprimitives.Container(name='ResultMainContinueButtonContainer', parent=self.bottom_container, align=uiconst.CENTERBOTTOM, width=355, height=53, bgTexturePath='res:/UI/Texture/classes/ProjectDiscovery/footerBG.png', state=uiconst.UI_DISABLED, opacity=0) self.continue_button_container = uiprimitives.Container(name='ResultContinueButtonContainer', parent=self.main_button_container, width=250, align=uiconst.CENTER, height=40, top=5) self.continue_button = uicontrols.Button(name='resultContinueButton', parent=self.continue_button_container, align=uiconst.CENTER, label=localization.GetByLabel('UI/ProjectDiscovery/Subcellular/ResultScreen/ContinueButtonLabel'), fontsize=18, fixedwidth=170, fixedheight=30, func=lambda x: self.close()) uiprimitives.Sprite(parent=self.continue_button_container, align=uiconst.CENTERLEFT, width=34, height=20, texturePath='res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7) uiprimitives.Sprite(parent=uiprimitives.Transform(parent=self.continue_button_container, align=uiconst.CENTERRIGHT, width=34, height=20, rotation=math.pi), align=uiconst.CENTERRIGHT, width=34, height=20, texturePath='res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7)
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.callback = attributes.get('callback', self.default_callback) self.speed = attributes.get('speed', self.default_speed) text = attributes.get('text', self.default_text) self.rollInColor = attributes.get('color', self.default_color) self.rollOutColor = self.rollInColor self.scrollOut = uiprimitives.Transform(parent=self, align=uiconst.TOPLEFT, height=self.height) self.scrollOutText = uicontrols.EveCaptionLarge(text=text, parent=self.scrollOut, align=uiconst.TOLEFT, color=(1, 1, 1, 1)) self.scrollIn = uiprimitives.Transform(parent=self, align=uiconst.TOPLEFT, height=self.height) self.scrollInText = uicontrols.EveCaptionLarge(text='', parent=self.scrollIn, align=uiconst.TOLEFT, color=(1, 1, 1, 1)) self.scrolling = False
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.btnName = attributes.btnName self.func = attributes.func self.funcArgs = None self.cmdName = attributes.cmdName self.orgTop = None self.pickRadius = self.width / 2 self.icon = uicontrols.Icon(parent=self, name='icon', pos=(0, 0, 32, 32), align=uiconst.CENTER, state=uiconst.UI_DISABLED, icon=attributes.iconNum) self.transform = uiprimitives.Transform(parent=self, name='icon', pos=(0, 0, 32, 32), align=uiconst.CENTER, state=uiconst.UI_DISABLED) self.hilite = uiprimitives.Sprite( parent=self, name='hilite', align=uiconst.TOALL, state=uiconst.UI_HIDDEN, texturePath= 'res:/UI/Texture/classes/ShipUI/utilBtnBaseAndShadow.png', color=(0.63, 0.63, 0.63, 1.0), blendMode=trinity.TR2_SBM_ADD) slot = uiprimitives.Sprite( parent=self, name='slot', align=uiconst.TOALL, state=uiconst.UI_DISABLED, texturePath= 'res:/UI/Texture/classes/ShipUI/utilBtnBaseAndShadow.png') self.busy = uiprimitives.Sprite( parent=self, name='busy', align=uiconst.TOALL, state=uiconst.UI_HIDDEN, texturePath='res:/UI/Texture/classes/ShipUI/utilBtnGlow.png', color=(0.27, 0.72, 1.0, 0.53)) self.blinkBG = uiprimitives.Sprite( parent=self, name='blinkBG', align=uiconst.TOALL, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/ShipUI/utilBtnGlow.png', opacity=0.0, blendMode=trinity.TR2_SBM_ADD)
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) self.entityID = attributes.entityID self.cursor = uiconst.UICURSOR_SELECT self.hoverFill = uiprimitives.Fill(parent=self, color=(1.0, 1.0, 1.0, 0.0), padding=-50) uicls.ScreenFrame1(parent=self, align=uiconst.TOALL, padding=10) self.circles = [] for i in xrange(1, 5): transform = uiprimitives.Transform(parent=self, align=uiconst.CENTER, state=uiconst.UI_DISABLED, width=540, height=540, top=-26) circle = uiprimitives.Sprite(parent=transform, texturePath='res:/UI/Texture/Classes/CQSideScreens/circle%s.png' % i, align=uiconst.TOALL) self.circles.append(transform) self.hoverLabel = uicontrols.Label(name='hoverLabel', parent=self, text=localization.GetByLabel('UI/Common/LocationTypes/Planets'), align=uiconst.CENTERBOTTOM, top=60, uppercase=True, fontsize=35, state=uiconst.UI_DISABLED, color=util.Color.WHITE) self.hoverLabel.opacity = 0.0 self.bgSprite = uiprimitives.Sprite(parent=self, texturePath='res:/UI/Texture/Classes/CQSideScreens/PIScreenBG.png', align=uiconst.TOALL, state=uiconst.UI_DISABLED, padding=-50) uthread.new(self.AnimCircles)
def ApplyAttributes(self, attributes): uicontrols.Window.ApplyAttributes(self, attributes) sm.RegisterNotify(self) self.tilesByTileCoord = {} self.linesByTileCoords = {} self.utilityElements = [] self.accessibleTiles = [] self.hasGameEnded = False self.bottomCont = uiprimitives.Container(name='bottomCont', parent=self.sr.main, align=uiconst.TOBOTTOM, height=110) self.tileHintLabel = uicontrols.Label(name='tileHintLabel', parent=self.bottomCont, align=uiconst.BOTTOMRIGHT, pos=(15, 15, 220, 0), fontsize=10) self.utilityElementContainer = uicontrols.ContainerAutoSize( name='utilityElementContainer', parent=self.bottomCont, align=uiconst.CENTERBOTTOM, state=uiconst.UI_PICKCHILDREN, opacity=1.0, height=50, top=10) self.virusInfo = hackingUI.VirusInfo(parent=self.bottomCont, left=15, top=10, opacity=0.0) self.boardTransform = uiprimitives.Transform(name='boardTransform', parent=self.sr.main, align=uiconst.TOALL, state=uiconst.UI_NORMAL, scalingCenter=(0.5, 0.5)) self.boardContainer = uiprimitives.Container( name='boardContainer', parent=self.boardTransform, align=uiconst.TOPLEFT, opacity=0.0) self.backgroundVideo = uiprimitives.VideoSprite( bgParent=self.sr.maincontainer, videoPath='res:/video/hacking/bgLoop_alpha.bik', videoLoop=True, spriteEffect=trinity.TR2_SFX_COPY, color=hackingUIConst.COLOR_WINDOW_BG, opacity=0.0) sm.GetService('audio').SendUIEvent('minigame_start')
def AddUIObjects(self, slimItem, itemID, *args): barAndImageCont = uiprimitives.Container(parent=self, name='barAndImageCont', align=uiconst.TOTOP, height=100, state=uiconst.UI_NORMAL) self.barAndImageCont = barAndImageCont self.iconSize = iconSize = 94 iconPar = uiprimitives.Transform(parent=barAndImageCont, name='iconPar', width=iconSize, height=iconSize, align=uiconst.CENTERTOP, state=uiconst.UI_DISABLED) iconPar.scalingCenter = (0.5, 0.5) self.sr.iconPar = iconPar self.AddUIDeathObjects(94) maskSize = 50 iconPadding = (iconSize - maskSize) / 2 icon = uicontrols.Icon(parent=iconPar, left=iconPadding, top=iconPadding, width=maskSize, height=maskSize, typeID=slimItem.typeID, textureSecondaryPath='res:/UI/Texture/classes/Target/shipMask.png', color=(1.0, 1.0, 1.0, 1.0), blendMode=1, spriteEffect=trinity.TR2_SFX_MODULATE, state=uiconst.UI_DISABLED, ignoreSize=True) if slimItem.groupID == const.groupOrbitalTarget: sm.GetService('photo').GetPortrait(slimItem.ownerID, 64, icon) if self.updatedamage: self.healthBar = uicls.TargetHealthBars(parent=iconPar, itemID=itemID) circle = uiprimitives.Sprite(name='circle', align=uiconst.CENTER, parent=iconPar, width=iconSize + 2, height=iconSize + 2, texturePath='res:/UI/Texture/classes/Target/outerCircle.png', color=(1.0, 1.0, 1.0, 0.5), state=uiconst.UI_DISABLED) self.circle = circle
def setup_side_panels(self): uiprimitives.Sprite( parent=self.main, align=uiconst.CENTERRIGHT, width=14, height=416, top=-20, texturePath= 'res:/UI/Texture/classes/ProjectDiscovery/sideElement.png') uiprimitives.Sprite( parent=uiprimitives.Transform(parent=self.main, align=uiconst.CENTERLEFT, width=14, height=416, top=-20, rotation=math.pi), align=uiconst.TOLEFT_NOPUSH, width=14, height=416, texturePath= 'res:/UI/Texture/classes/ProjectDiscovery/sideElement.png')
def ApplyAttributes(self, attributes): uiprimitives.Container.ApplyAttributes(self, attributes) sm.RegisterNotify(self) self.tileData = attributes.tileData self.bgColor = util.Color.WHITE self.iconColor = util.Color.WHITE self.emptySegmentTexturePath = None self.bgScale = (1.0, 1.0) self.mouseHoverSprite = uiprimitives.Sprite( name='mouseHoverSprite', parent=self, align=uiconst.TOALL, state=uiconst.UI_DISABLED, texturePath='res:/UI/Texture/classes/hacking/tileHover.png', opacity=0.0) self.coherenceCont = None self.strengthCont = None self.distanceIndicatorCont = None self.iconSprite = uiprimitives.Sprite( name='iconSprite', parent=self, align=uiconst.CENTER, state=uiconst.UI_DISABLED, width=hackingUIConst.TILE_ICON_SIZE, height=hackingUIConst.TILE_ICON_SIZE) self.tileBgTransform = uiprimitives.Transform( name='tileBgTransform', parent=self, align=uiconst.CENTER, state=uiconst.UI_DISABLED, width=hackingUIConst.TILE_ICON_SIZE, height=hackingUIConst.TILE_ICON_SIZE, scalingCenter=(0.5, 0.5), scale=self.bgScale) self.tileBgSprite = uiprimitives.Sprite(name='tileSprite', bgParent=self.tileBgTransform) self.utilElementMarkerSprite = None self.healingGivenSprite = None self.healingReceivedSprite = None self.UpdateTileState(hackingConst.EVENT_TILE_CREATED)
def CreateLayout(self): if self.typeID is None: text = localization.GetByLabel('UI/PI/Common/NoFilter') self.icon = None self.loadingIcon = None else: self.icon = uicontrols.Icon(parent=self, align=uiconst.RELATIVE, pos=(0, 0, self.ICON_SIZE, self.ICON_SIZE), state=uiconst.UI_DISABLED, ignoreSize=True, typeID=self.typeID, size=self.ICON_SIZE) text = cfg.invtypes.Get(self.typeID).typeName self.loadingIcon = uiprimitives.Transform(parent=self, align=uiconst.RELATIVE, pos=(0, 0, self.ICON_SIZE, self.ICON_SIZE), state=uiconst.UI_HIDDEN) load = uicontrols.Icon(icon='ui_77_32_13', parent=self.loadingIcon, IgnoreSize=True, pos=(0, 0, self.ICON_SIZE, self.ICON_SIZE), align=uiconst.CENTER) self.container = uiprimitives.Container(parent=self, name='mainContainer', align=uiconst.TOALL, state=uiconst.UI_DISABLED) self.resourceName = uicontrols.EveLabelMedium(text=text, parent=self, left=4 + (self.ICON_SIZE if self.typeID is not None else 0), top=6, align=uiconst.TOPLEFT, state=uiconst.UI_DISABLED) if self.typeID is not None: self.levelBar = uiprimitives.Container(name='levelBar', parent=self, pos=(self.LEVEL_LEFT, 7, self.LEVEL_WIDTH, self.LEVEL_HEIGHT), align=uiconst.RELATIVE, state=uiconst.UI_DISABLED) self.level = uiprimitives.Fill(parent=self.levelBar, pos=(0, 0, int(self.LEVEL_WIDTH * (self.quality or 0.0)), 0), align=uiconst.TOLEFT, color=self.LEVEL_COLOR) self.levelFill = uiprimitives.Fill(parent=self.levelBar, align=uiconst.TOALL, color=self.LEVEL_BG_COLOR) if self.quality is None: self.levelBar.state = uiconst.UI_HIDDEN self.selectBlock = uiprimitives.Fill(parent=self, name='selectBlock', state=uiconst.UI_DISABLED, align=uiconst.TOALL, padding=(0, self.SELECT_BLOCK_PADDING, 0, self.SELECT_BLOCK_PADDING), color=self.SELECT_FILL_COLOR if self.selected else self.EMPTY_COLOR)
def ApplyAttributes(self, attributes): uiprimitives.Transform.ApplyAttributes(self, attributes) self.degree = attributes.get('degree', 0) self.func = None self.funcArgs = None self.itemID = attributes.itemID self.isDisabled = False self.degreeWidth = attributes.degreeWidth self.labelPath = '' self.labelText = '' self.isEmpty = attributes.get('isEmpty', False) self.commandName = None self.isHilighted = False self.fullWidth = attributes.sizeInfo.buttonWidth self.fullHeight = attributes.sizeInfo.buttonHeight iconPar = uiprimitives.Transform(parent=self, name='iconPar', pos=(0, 3, 32, 32), state=uiconst.UI_DISABLED, align=uiconst.CENTER) iconPar.rotation = mathUtil.DegToRad(self.degree) self.icon = GlowSprite(parent=iconPar, name='icon', pos=(0, 0, 32, 32), state=uiconst.UI_DISABLED, align=uiconst.CENTER) selectionSlice = SpriteUnderlay(parent=self, name='selectionSlice', state=uiconst.UI_DISABLED, texturePath=self.selelectedBasePath % self.degreeWidth, align=uiconst.TOALL, opacity=0.9) selectionSlice.display = False self.selectionSlice = selectionSlice if self.isEmpty: sliceTexturePath = self.emptySliceBasePath % self.degreeWidth else: sliceTexturePath = self.sliceBasePath % self.degreeWidth self.hilite = SpriteUnderlay(parent=self, name='hilite', state=uiconst.UI_DISABLED, texturePath=self.selelectedBasePath % self.degreeWidth, align=uiconst.TOALL, colorType=uiconst.COLORTYPE_UIHILIGHTGLOW, opacity=0.0) self.availableSlice = SpriteUnderlay(parent=self, name='availableSlice', state=uiconst.UI_DISABLED, texturePath=sliceTexturePath, align=uiconst.TOALL, opacity=attributes.get( 'buttonBackgroundOpacity', 0.8)) self.unavailableSlice = SpriteUnderlay( parent=self, name='unavailableSlice', state=uiconst.UI_DISABLED, texturePath=sliceTexturePath, align=uiconst.TOALL, colorType=uiconst.COLORTYPE_UIBASE, opacity=0.85) self.unavailableSlice.display = False self.sliceInUse = self.availableSlice
def ApplyAttributes(self, attributes): uicore.event.RegisterForTriuiEvents(uiconst.UI_ACTIVE, self.CheckAppFocus) BaseCharacterCreationStep.ApplyAttributes(self, attributes) info = self.GetInfo() self.menuMode = self.ASSETMENU self.charID = attributes.charID self.colorPaletteWidth = uicls.CCColorPalette.COLORPALETTEWIDTH self.tattooChangeMade = 0 self.menusInitialized = 0 self.sr.leftSide.width = 200 self.sr.headBodyPicker = uicls.CCHeadBodyPicker( name='headBodyPicker', parent=self.sr.leftSide, align=uiconst.CENTERTOP, top=98, headCallback=self.LoadFaceMode, bodyCallback=self.LoadBodyMode) clickable = uicore.layer.charactercreation.CanChangeBloodline() if clickable and not uicore.layer.charactercreation.CanChangeGender(): disabledHex = ['gender'] else: disabledHex = [] picker = uicls.CCRacePicker(parent=self.sr.uiContainer, align=uiconst.BOTTOMLEFT, raceID=info.raceID, bloodlineID=info.bloodlineID, genderID=info.genderID, padding=(30, 0, 0, -8), clickable=clickable, disabledHex=disabledHex) self.sr.assetMenuPar = uiprimitives.Container( parent=self.sr.rightSide, name='assetMenuPar', pos=(0, 0, MAXMENUSIZE, uicore.desktop.height), state=uiconst.UI_PICKCHILDREN, align=uiconst.CENTERTOP) self.sr.hintBox = uiprimitives.Container(parent=self.sr.assetMenuPar, pos=(0, 20, 200, 150), align=uiconst.TOPRIGHT, state=uiconst.UI_DISABLED) self.sr.hintText = uicontrols.EveLabelMedium(text='', parent=self.sr.hintBox, align=uiconst.TOTOP) self.sr.randomButton = uiprimitives.Transform( parent=self.sr.headBodyPicker, pos=(-52, 34, 22, 22), state=uiconst.UI_NORMAL, align=uiconst.CENTERTOP, hint=localization.GetByLabel('UI/CharacterCreation/RandomizeAll'), idx=0) self.sr.randomButton.OnClick = self.RandomizeCharacter self.sr.randomButton.OnMouseEnter = (self.OnGenericMouseEnter, self.sr.randomButton) self.sr.randomButton.OnMouseExit = (self.OnGenericMouseExit, self.sr.randomButton) randIcon = uicontrols.Icon(parent=self.sr.randomButton, icon=ccConst.ICON_RANDOM, state=uiconst.UI_DISABLED, align=uiconst.CENTER, color=ccConst.COLOR50) self.sr.randomButton.sr.icon = randIcon self.sr.toggleClothesButton = uiprimitives.Container( parent=self.sr.headBodyPicker, pos=(52, 32, 26, 26), state=uiconst.UI_NORMAL, align=uiconst.CENTERTOP, hint=localization.GetByLabel('UI/CharacterCreation/ToggleClothes'), idx=0) toggleIcon = uicontrols.Icon(parent=self.sr.toggleClothesButton, icon=ccConst.ICON_TOGGLECLOTHES, state=uiconst.UI_DISABLED, align=uiconst.CENTER, color=ccConst.COLOR50) self.sr.toggleClothesButton.OnClick = self.ToggleClothes self.sr.toggleClothesButton.OnMouseEnter = ( self.OnGenericMouseEnter, self.sr.toggleClothesButton) self.sr.toggleClothesButton.OnMouseExit = (self.OnGenericMouseExit, self.sr.toggleClothesButton) self.sr.toggleClothesButton.sr.icon = toggleIcon self.UpdateLayout() self.StartLoadingThread()
def Load(self): self.districtID = self.district['districtID'] self.planetID = self.district['planetID'] self.latitude = self.district['latitude'] self.longitude = self.district['longitude'] self.planet = sm.GetService('michelle').GetBallpark( session.solarsystemid).balls[self.planetID] self.point = planet.SurfacePoint(phi=self.latitude, theta=self.longitude) self.name = 'DistrictBracket_%d' % self.districtID self.destrictGfxID = self.planet.GetDistrictNum('district-%d' % self.districtID) if self.container: self.container.Close() self.container = InSceneContainer( scene=sm.GetService('sceneManager').GetRegisteredScene('default'), name=self.name, width=512, height=512, clearBackground=True, backgroundColor=(0, 0, 0, 0)) self.container.transform.translationCurve = self.planet.model.translationCurve self.container.transform.translation = geo2.Vec3Scale( geo2.Vec3Normalize(self.point.GetAsXYZTuple()), self.planet.radius) self.container.transform.scaling = (1000000, 1000000, 1000000) self.container.transform.rotation = geo2.QuaternionRotationSetYawPitchRoll( -self.longitude + math.pi / 2, self.latitude - math.pi / 2, 0) self.hover = uiprimitives.Container(parent=self.container, align=uiconst.CENTER, state=uiconst.UI_NORMAL, opacity=1, width=512, height=512) self.hover.OnMouseEnter = self.OnMouseEnter self.hover.OnMouseExit = self.OnMouseExit self.hover.OnClick = self.OnClick self.transform = uiprimitives.Transform(parent=self.hover, align=uiconst.TOALL, rotation=0, scalingCenter=(0.5, 0.5)) uicore.animations.MorphScalar(self.transform, 'rotation', startVal=0, endVal=math.pi / 2, duration=10, loops=uiconst.ANIM_REPEAT, curveType=uiconst.ANIM_LINEAR) self.frame = self.Corners( parent=self.transform, image='res:/UI/Texture/Bombardment/district_bracket_frame.png', boxSize=450, cornerSize=170, opacity=0.0) self.arrows_transform = uiprimitives.Transform(parent=self.transform, align=uiconst.TOALL, rotation=0, scalingCenter=(0.5, 0.5)) self.arrows = self.Corners( parent=self.arrows_transform, image='res:/UI/Texture/Bombardment/target_triangle.png', boxSize=300, cornerSize=30, opacity=0.0) self.Redraw()
def setup_layout(self): self.dialogue_container = uiprimitives.Container( name='dialogue_container', parent=self.parent, idx=0) self.left_main_container = uiprimitives.Container( name='left_main_container', parent=self, align=uiconst.TOLEFT_PROP, width=0.5, clipChildren=True, top=20) self.category_container = uiprimitives.Container( name='category_container', parent=self, align=uiconst.TOLEFT_PROP, width=0.5, padTop=45, clipChildren=True) self.task_label = EveCaptionLarge( parent=self.left_main_container, align=uiconst.CENTERTOP, text=localization.GetByLabel( 'UI/ProjectDiscovery/Subcellular/Tutorial/TaskLabel'), color=(0.48, 0.48, 0.48, 1), top=35) self.explanation_icon = uiprimitives.Sprite( parent=self.left_main_container, align=uiconst.TOPRIGHT, width=54, height=54, top=35, left=15, texturePath='res:/UI/Texture/WindowIcons/attention.png', state=uiconst.UI_HIDDEN) self.training_task_image = TaskImage( label=const.Texts.TaskImageLabel, parent=self.left_main_container, align=uiconst.TOPLEFT_PROP, pos=(25, 80, 420, 445), starting_scale=self.starting_scale) self.result_window = ResultWindow( name='ResultWindow', parent=self.parent, align=uiconst.TOALL, opacity=0, isTrainingPhase=True, taskImage=self.training_task_image, starting_scale=self.starting_scale, bottom_container=self.bottom_container) self.rewards_view = RewardsView(parent=self.parent, opacity=0, playerState=self.playerState, bottom_container=self.bottom_container, idx=0, state=uiconst.UI_DISABLED) self.rewards_view.isTraining = True self.rewards_view.tutorial_completed = False self.processing_view = ProcessingView(parent=self.parent, opacity=0, state=uiconst.UI_DISABLED) self.training_category_selector = CategorySelector( categories=nested_categories_from_json( PROJECT_INFO['info']['classes']), parent=self.category_container, state=uiconst.UI_HIDDEN, starting_scale=self.starting_scale) self.main_button_container = uiprimitives.Container( name='main_button_container', parent=self.bottom_container, align=uiconst.CENTERBOTTOM, width=355, height=53, bgTexturePath= 'res:/UI/Texture/classes/ProjectDiscovery/footerBG.png') self.submit_button_container = uiprimitives.Container( name='submitButtonContainer', parent=self.main_button_container, width=250, align=uiconst.CENTER, height=40, top=5) self.submit_button = uicontrols.Button( name='submitButton', parent=self.submit_button_container, align=uiconst.CENTER, label=localization.GetByLabel( 'UI/ProjectDiscovery/SubmitButtonLabel'), fontsize=18, fixedwidth=170, fixedheight=30, func=lambda x: self.submit_training_solution()) uiprimitives.Sprite( parent=self.submit_button_container, align=uiconst.CENTERLEFT, width=34, height=20, texturePath= 'res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7) uiprimitives.Sprite( parent=uiprimitives.Transform(parent=self.submit_button_container, align=uiconst.CENTERRIGHT, width=34, height=20, rotation=math.pi), align=uiconst.CENTERRIGHT, width=34, height=20, texturePath= 'res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7) self.task_id = uicontrols.Label(parent=self, align=uiconst.BOTTOMRIGHT, height=20, opacity=0.5, left=10) self.refresh_task_button = uicontrols.Button( name='refreshTaskButton', parent=self.category_container, align=uiconst.CENTER, func=lambda x: self.reset_task(), idx=0, label='Refresh Task', fixedwidth=120, fixedheight=30, state=uiconst.UI_HIDDEN)
def setup_layout(self): self.headerContainer = uiprimitives.Container(name='headerContainer', parent=self, align=uiconst.CENTERTOP, height=34, width=230) self.scoreBarContainer = uiprimitives.Container( name='scoreBarContainer', parent=self, align=uiconst.CENTERBOTTOM, height=8, width=self.headerContainer.width - 10, bgColor=(0.62, 0.54, 0.53, 0.26), top=10) self._initialize_score_bar_length() self.scoreBar = uicls.VectorLine( name='scoreBar', parent=self.scoreBarContainer, align=uiconst.CENTERLEFT, translationFrom=(0, 0), translationTo=(self.calculate_score_bar_length(), 0), colorFrom=(1.0, 1.0, 1.0, 0.95), colorTo=(1.0, 1.0, 1.0, 0.95), widthFrom=3, widthTo=3, left=3) uicls.VectorLine(name='emptyScoreBar', parent=self.scoreBarContainer, align=uiconst.CENTERLEFT, translationFrom=(0, 0), translationTo=(self.scoreBarLength, 0), colorFrom=(0.0, 0.0, 0.0, 0.75), colorTo=(0.0, 0.0, 0.0, 0.75), widthFrom=3, widthTo=3, left=5) self.rankInfoContainer = uiprimitives.Container( name='rankInfoContainer', parent=self.headerContainer, align=uiconst.TOLEFT, width=75, top=3) self.rankIcon = uiprimitives.Sprite( name='rankIcon', parent=self.rankInfoContainer, texturePath=self.get_rank_icon_path(), height=36, width=36, align=uiconst.TOLEFT, left=5) SetTooltipHeaderAndDescription( targetObject=self.rankIcon, headerText=localization.GetByLabel( 'UI/ProjectDiscovery/AnalystRankTooltip'), descriptionText=localization.GetByLabel( 'UI/ProjectDiscovery/AnalysisKreditsLabel') + ': ' + str(FmtAmt(self.playerState.analysisKredits))) self.rankLabel = uicontrols.Label(parent=self.rankInfoContainer, fontsize=16, text=self.rank, align=uiconst.CENTERLEFT, height=20, left=40) self.accuracyRatingContainer = uiprimitives.Container( name='accuracyRatingContainer', parent=self.headerContainer, align=uiconst.TORIGHT, width=75, left=5, top=3) self.accuracyRatingIconContainer = uiprimitives.Container( name='accuracyRatingIconContainer', parent=self.accuracyRatingContainer, height=32, width=32, align=uiconst.CENTER, left=20, bgTexturePath= 'res:/UI/Texture/classes/ProjectDiscovery/accuracyMeterBack.png') self.emptySprite = uiprimitives.Sprite( name='emptySprite', parent=self.accuracyRatingIconContainer, width=32, height=32, align=uiconst.CENTER) SetTooltipHeaderAndDescription( targetObject=self.emptySprite, headerText='', descriptionText=localization.GetByLabel( 'UI/ProjectDiscovery/AccuracyRatingTooltip')) self.accuracyNeedleIconContainer = uiprimitives.Transform( parent=self.accuracyRatingIconContainer, height=32, width=32, align=uiconst.TORIGHT, rotation=0) self.accuracyNeedleIcon = uiprimitives.Sprite( name='accuracyNeedleIcon', parent=self.accuracyNeedleIconContainer, texturePath= 'res:/UI/Texture/classes/ProjectDiscovery/accuracyMeterNeedle.png', width=32, height=32, rotation=2.4, align=uiconst.CENTER) self.accuracyArcFill = uicls.Polygon( parent=self.accuracyRatingIconContainer, align=uiconst.CENTER) self.accuracyArcFill.MakeArc(radius=0, outerRadius=10, fromDeg=-225.0, toDeg=-225.0, outerColor=(1.0, 1.0, 0, 0.7), innerColor=(1.0, 1.0, 0, 0.7)) self.accuracyRatingLabel = uicontrols.Label( name='AccuracyRating', parent=self.accuracyRatingContainer, fontsize=16, text='00,0%', align=uiconst.CENTERLEFT, autoFitToText=True, height=20) self.state = uiconst.UI_NORMAL
def setup_continue_button(self): self.main_button_container = uiprimitives.Container(name='MainRewardsContinueButtonContainer', parent=self.bottom_container, align=uiconst.CENTERBOTTOM, width=355, height=53, bgTexturePath='res:/UI/Texture/classes/ProjectDiscovery/footerBG.png', state=uiconst.UI_HIDDEN) self.continue_button_container = uiprimitives.Container(name='RewardsContinueButtonContainer', parent=self.main_button_container, width=250, align=uiconst.CENTER, height=40, top=5) self.continue_button = uicontrols.Button(name='RewardViewContinueButton', parent=self.continue_button_container, align=uiconst.CENTER, label=localization.GetByLabel('UI/ProjectDiscovery/Subcellular/RewardsScreen/ContinueButtonLabel'), fontsize=18, fixedwidth=170, fixedheight=30, func=lambda x: self.fade_out(), state=uiconst.UI_DISABLED) uiprimitives.Sprite(parent=self.continue_button_container, align=uiconst.CENTERLEFT, width=34, height=20, texturePath='res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7) uiprimitives.Sprite(parent=uiprimitives.Transform(parent=self.continue_button_container, align=uiconst.CENTERRIGHT, width=34, height=20, rotation=math.pi), align=uiconst.CENTERRIGHT, width=34, height=20, texturePath='res:/UI/Texture/classes/ProjectDiscovery/submitArrow.png', opacity=0.7)