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]