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

characterCreationSteps.py (4346B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\charactercreator\client\characterCreationSteps.py
      2 import charactercreator.const as ccConst
      3 STEPS_BY_MODE = {ccConst.MODE_FULL_BLOODLINECHANGE: [ccConst.EMPIRESTEP,
      4                                      ccConst.TECHNOLOGYSTEP,
      5                                      ccConst.BLOODLINESTEP,
      6                                      ccConst.CUSTOMIZATIONSTEP,
      7                                      ccConst.PORTRAITSTEP,
      8                                      ccConst.NAMINGSTEP],
      9  ccConst.MODE_FULL_RECUSTOMIZATION: [ccConst.CUSTOMIZATIONSTEP, ccConst.PORTRAITSTEP],
     10  ccConst.MODE_LIMITED_RECUSTOMIZATION: [ccConst.CUSTOMIZATIONSTEP, ccConst.PORTRAITSTEP],
     11  ccConst.MODE_FULLINITIAL_CUSTOMIZATION: [ccConst.EMPIRESTEP,
     12                                           ccConst.TECHNOLOGYSTEP,
     13                                           ccConst.BLOODLINESTEP,
     14                                           ccConst.CUSTOMIZATIONSTEP,
     15                                           ccConst.NAMINGSTEP]}
     16 STEP_ORDER_LIST = [ccConst.EMPIRESTEP,
     17  ccConst.TECHNOLOGYSTEP,
     18  ccConst.BLOODLINESTEP,
     19  ccConst.CUSTOMIZATIONSTEP,
     20  ccConst.PORTRAITSTEP,
     21  ccConst.NAMINGSTEP]
     22 
     23 def GetStepOrder(step):
     24     try:
     25         return STEP_ORDER_LIST.index(step)
     26     except ValueError:
     27         return -1
     28 
     29 
     30 def GetStepsUpToAndIncluding(lastStep):
     31     s = set()
     32     if lastStep not in STEP_ORDER_LIST:
     33         return s
     34     for step in STEP_ORDER_LIST:
     35         s.add(step)
     36         if step == lastStep:
     37             return s
     38 
     39 
     40 class Mode(object):
     41 
     42     def __init__(self, modeID, canChangeBaseAppearance = False, canChangeName = False, canChangeGender = False, canChangeBloodline = False, willExitToStation = True, askPortraitInfo = False, isInitialCreation = False, limited = False, useOldPortraitData = False):
     43         self.modeID = modeID
     44         self.canChangeName = canChangeName
     45         self.canChangeGender = canChangeGender
     46         self.canChangeBaseAppearance = canChangeBaseAppearance
     47         self.canChangeBloodline = canChangeBloodline
     48         self.willExitToStation = willExitToStation
     49         self.askForPortraitConfirmation = askPortraitInfo
     50         self.isInitialCreation = isInitialCreation
     51         self.limitedHelpText = limited
     52         self.useOldPortraitData = useOldPortraitData
     53         self.steps = {}
     54 
     55     def GetValue(self):
     56         return ccConst.MODE_FULL_BLOODLINECHANGE
     57 
     58     def GetSteps(self):
     59         return STEPS_BY_MODE[self.modeID]
     60 
     61     def CanChangeBaseAppearance(self):
     62         return self.canChangeBaseAppearance
     63 
     64     def CanChangeGender(self):
     65         return self.canChangeGender
     66 
     67     def CanChangeName(self):
     68         return self.canChangeName
     69 
     70     def CanChangeBloodLine(self):
     71         return self.canChangeBloodline
     72 
     73     def AskForPortraitConfirmation(self):
     74         return self.askForPortraitConfirmation
     75 
     76     def ExitToStation(self):
     77         return self.willExitToStation
     78 
     79     def IsInitialCreation(self):
     80         return self.isInitialCreation
     81 
     82     def IsLimited(self):
     83         return self.limitedHelpText
     84 
     85     def GetOldPortraitData(self):
     86         return self.useOldPortraitData
     87 
     88 
     89 class ModeStorage(object):
     90 
     91     def __init__(self):
     92         self.modes = {}
     93         fullInitialCustomization = Mode(modeID=ccConst.MODE_FULLINITIAL_CUSTOMIZATION, canChangeBaseAppearance=True, canChangeBloodline=True, canChangeName=True, canChangeGender=True, willExitToStation=False)
     94         fullBloodlineChange = Mode(modeID=ccConst.MODE_FULL_BLOODLINECHANGE, canChangeBloodline=True, canChangeGender=False, canChangeBaseAppearance=False)
     95         fullRecustomization = Mode(modeID=ccConst.MODE_FULL_RECUSTOMIZATION, canChangeGender=True, canChangeBaseAppearance=True, askPortraitInfo=True, useOldPortraitData=True)
     96         limitedRecustomization = Mode(modeID=ccConst.MODE_LIMITED_RECUSTOMIZATION, canChangeBaseAppearance=False, askPortraitInfo=True, limited=1, useOldPortraitData=True, willExitToStation=True)
     97         self.modes[ccConst.MODE_FULLINITIAL_CUSTOMIZATION] = fullInitialCustomization
     98         self.modes[ccConst.MODE_FULL_BLOODLINECHANGE] = fullBloodlineChange
     99         self.modes[ccConst.MODE_FULL_RECUSTOMIZATION] = fullRecustomization
    100         self.modes[ccConst.MODE_LIMITED_RECUSTOMIZATION] = limitedRecustomization
    101 
    102     def GetModeFor(self, modeID):
    103         return self.modes[modeID]