NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

paintToolWnd.py (4014B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\cosmetics\structure\paintToolWnd.py
      2 from featuremanagement.client.flag import flag_bool
      3 import eve.client.script.ui.cosmetics.structure.const as paintToolConst
      4 from cosmetics.common.structures.const import FLAG_PAINTWORK_SKINR_KILLSWITCH, FLAG_PAINTWORK_SKINR_KILLSWITCH_DEFAULT
      5 from eve.client.script.ui.shared.mapView.dockPanel import DockablePanel
      6 from eve.client.script.ui.cosmetics.structure import paintToolSelections
      7 from eve.client.script.ui.cosmetics.structure.pages.structureSelectionPage import StructureSelectionPage
      8 from eve.client.script.ui.cosmetics.structure.pages.designCreationPage import DesignCreationPage
      9 from eve.client.script.ui.cosmetics.structure.pages.designApplicationPage import DesignApplicationPage
     10 from eve.client.script.ui.cosmetics.structure.pages.summaryPage import SummaryPage
     11 from eve.client.script.ui.cosmetics.structure.paintToolSignals import on_close_window_requested
     12 from eve.client.script.ui.view.viewStateConst import ViewState
     13 from carbonui.primitives.container import Container
     14 from eve.common.lib import appConst
     15 from player_messaging.client.ui_message import prompt_player_fsd_dialog
     16 
     17 class PaintToolWnd(DockablePanel):
     18     __guid__ = 'PainToolDockablePanel'
     19     __notifyevents__ = ['OnSessionChanged']
     20     default_captionLabelPath = 'UI/Personalization/PaintTool/TrySKINRTitle'
     21     default_descriptionLabelPath = 'UI/Personalization/PaintToolDescription'
     22     default_name = 'Paint Tool'
     23     default_windowID = 'PaintTool'
     24     default_iconNum = 'res:/UI/Texture/WindowIcons/paint_tool.png'
     25     default_minSize = paintToolConst.WINDOW_MIN_SIZE
     26     panelID = default_windowID
     27     viewState = ViewState.PaintTool
     28 
     29     def __init__(self, **kwargs):
     30         super(PaintToolWnd, self).__init__(**kwargs)
     31         sm.RegisterNotify(self)
     32         flag_bool(key=FLAG_PAINTWORK_SKINR_KILLSWITCH, default_value=FLAG_PAINTWORK_SKINR_KILLSWITCH_DEFAULT, callback=self._on_killswitch_changed)
     33         self._create_pages()
     34         paintToolSelections.SELECTED_PAGE.set(paintToolConst.STRUCTURE_SELECTION_PAGE_ID)
     35         on_close_window_requested.connect(self._on_close_requested)
     36 
     37     def _on_killswitch_changed(self, evaluate_flag):
     38         killswitch = evaluate_flag()
     39         if killswitch:
     40             self.CloseIfOpen()
     41 
     42     def OnSessionChanged(self, _is_remote, _session, change):
     43         if 'corprole' in change:
     44             if not session.corprole & appConst.corpRoleBrandManager:
     45                 prompt_player_fsd_dialog('InsufficientRolesForSKINR')
     46                 self.Close()
     47 
     48     @classmethod
     49     def Open(cls, *args, **kwds):
     50         if not session.corprole & appConst.corpRoleBrandManager:
     51             prompt_player_fsd_dialog('InsufficientRolesForSKINR')
     52         else:
     53             return super(PaintToolWnd, cls).Open(*args, **kwds)
     54 
     55     def Close(self, setClosed = False, *args, **kwds):
     56         on_close_window_requested.disconnect(self._on_close_requested)
     57         paintToolSelections.SELECTED_PAGE.set(paintToolConst.STRUCTURE_SELECTION_PAGE_ID)
     58         super(PaintToolWnd, self).Close(setClosed, *args, **kwds)
     59 
     60     def _create_pages(self):
     61         main_cont = Container(name='mainCont', parent=self.content, padTop=self.toolbarContainer.height)
     62         self._pages = {paintToolConst.STRUCTURE_SELECTION_PAGE_ID: StructureSelectionPage(name='structureSelectionPage', parent=main_cont, page_id=paintToolConst.STRUCTURE_SELECTION_PAGE_ID),
     63          paintToolConst.DESIGN_CREATION_PAGE_ID: DesignCreationPage(name='designCreationPage', parent=main_cont, page_id=paintToolConst.DESIGN_CREATION_PAGE_ID),
     64          paintToolConst.DESIGN_APPLICATION_PAGE_ID: DesignApplicationPage(name='designApplicationPage', parent=main_cont, page_id=paintToolConst.DESIGN_APPLICATION_PAGE_ID),
     65          paintToolConst.SUMMARY_PAGE_ID: SummaryPage(name='summaryPage', parent=main_cont, page_id=paintToolConst.SUMMARY_PAGE_ID)}
     66 
     67     def _on_close_requested(self):
     68         self.Close()