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

characterCreationSteps_new.py (3991B)


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