paperDollClient.py (1811B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\graphics\paperDollClient.py 2 import telemetry 3 import eve.common.script.paperDoll.paperDollConfiguration as pdCfg 4 import eve.client.script.paperDoll.paperDollImpl as pdImp 5 import evegraphics.settings as gfxsettings 6 from charactercreator.const import TEXTURE_RESOLUTIONS 7 from carbon.client.script.graphics.paperDollClient import PaperDollClient 8 9 class EvePaperDollClient(PaperDollClient): 10 __guid__ = 'svc.evePaperDollClient' 11 __replaceservice__ = 'paperDollClient' 12 __notifyevents__ = PaperDollClient.__notifyevents__ + ['OnGraphicSettingsChanged'] 13 __dependencies__ = PaperDollClient.__dependencies__ + ['character', 'device'] 14 15 def Run(self, *etc): 16 PaperDollClient.Run(self, *etc) 17 kicker = self.dollFactory 18 19 def _AppPerformanceOptions(self): 20 pdCfg.PerformanceOptions.EnableEveOptimizations() 21 22 @telemetry.ZONE_METHOD 23 def GetDollDNA(self, scene, entity, dollGender, dollDnaInfo, bloodlineID): 24 return self.character.GetDNAFromDBRowsForEntity(entity.entityID, dollDnaInfo, dollGender, bloodlineID) 25 26 def GetInitialTextureResolution(self): 27 textureQuality = gfxsettings.Get(gfxsettings.GFX_CHAR_TEXTURE_QUALITY) 28 return TEXTURE_RESOLUTIONS[textureQuality] 29 30 @telemetry.ZONE_METHOD 31 def OnGraphicSettingsChanged(self, changes): 32 if gfxsettings.GFX_CHAR_TEXTURE_QUALITY in changes: 33 textureQuality = gfxsettings.Get(gfxsettings.GFX_CHAR_TEXTURE_QUALITY) 34 resolution = TEXTURE_RESOLUTIONS[textureQuality] 35 for character in self.paperDollManager: 36 character.doll.SetTextureSize(resolution) 37 character.doll.buildDataManager.SetAllAsDirty() 38 character.Update()