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

ccUtil.py (2775B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\login\charcreation\ccUtil.py
      2 import charactercreator.const as ccConst
      3 import telemetry
      4 import trinity
      5 from eve.common.script.paperDoll.paperDollDefinitions import GENDER
      6 from eve.common.script.paperDoll.yamlPreloader import LoadYamlFileNicely
      7 
      8 @telemetry.ZONE_FUNCTION
      9 def GenderIDToPaperDollGender(genderID):
     10     if genderID == ccConst.GENDERID_FEMALE:
     11         return GENDER.FEMALE
     12     if genderID == ccConst.GENDERID_MALE:
     13         return GENDER.MALE
     14     raise RuntimeError('GenderIDToPaperDollGender: Invalid genderID!')
     15 
     16 
     17 @telemetry.ZONE_FUNCTION
     18 def PaperDollGenderToGenderID(gender):
     19     if gender == GENDER.MALE:
     20         return ccConst.GENDERID_MALE
     21     if gender == GENDER.FEMALE:
     22         return ccConst.GENDERID_FEMALE
     23     raise RuntimeError('PaperDollGenderToGenderID: Invalid gender!')
     24 
     25 
     26 @telemetry.ZONE_FUNCTION
     27 def SetupLighting(scene, lightScene, lightColorScene, lightIntensity = 0.5):
     28     intensityMultiplier = 0.75 + lightIntensity / 2.0
     29     if scene is not None:
     30         lightList = []
     31         for l in scene.lights:
     32             lightList.append(l)
     33 
     34         for l in lightList:
     35             scene.RemoveLightSource(l)
     36 
     37         for index in range(len(lightScene.lights)):
     38             light = lightScene.lights[index]
     39             for l in lightColorScene.lights:
     40                 if l.name == light.name:
     41                     light.color = l.color
     42 
     43             light.color = (light.color[0] * intensityMultiplier,
     44              light.color[1] * intensityMultiplier,
     45              light.color[2] * intensityMultiplier,
     46              1.0)
     47             scene.AddLightSource(light)
     48 
     49 
     50 @telemetry.ZONE_FUNCTION
     51 def LoadFromYaml(path):
     52     return LoadYamlFileNicely(path)
     53 
     54 
     55 def HasUserDefinedWeight(category):
     56     return ccConst.COLORMAPPING.get(category, (0, 0))[0]
     57 
     58 
     59 def HasUserDefinedSpecularity(category):
     60     return ccConst.COLORMAPPING.get(category, (0, 0))[1]
     61 
     62 
     63 def CreateCategoryFolderIfNeeded(outputroot, folderName):
     64     import os
     65     folderName = os.path.normpath(folderName)
     66     if os.path.isdir(outputroot + folderName):
     67         return
     68     os.mkdir(outputroot + folderName)
     69 
     70 
     71 def IsFactionSelectionDisabled(factionID):
     72     disabledFactionIDs = sm.GetService('machoNet').GetGlobalConfig().get('disabled_faction_ids', '')
     73     if not disabledFactionIDs:
     74         return False
     75     return factionID in [ int(disabledFactionID) for disabledFactionID in disabledFactionIDs.split(',') ]
     76 
     77 
     78 def IsSchoolDisabled(schoolID):
     79     disabledSchoolIDs = sm.GetService('machoNet').GetGlobalConfig().get('disabled_school_ids', '')
     80     if not disabledSchoolIDs:
     81         return False
     82     return schoolID in [ int(disabledSchoolID) for disabledSchoolID in disabledSchoolIDs.split(',') ]