extraStarParticles.py (3249B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\mapView\extraStarParticles.py 2 import trinity 3 from eve.client.script.ui.shared.mapView.mapViewSolarSystem import PARTICLE_EFFECT 4 from eve.client.script.ui.shared.mapView.mapViewUtil import PARTICLE_SPRITE_DATA_TEXTURE_TEST 5 6 class BaseExtraStarParticleController(object): 7 8 def __init__(self): 9 self._extraMapStars = None 10 self._extraStarParticles = None 11 self._extraStarDataTexture = None 12 13 @property 14 def extraMapStars(self): 15 return self._extraMapStars 16 17 @property 18 def extraStarParticles(self): 19 return self._extraStarParticles 20 21 def UpdateBounds(self): 22 if not self._extraStarParticles or not self._extraMapStars: 23 return 24 self._extraStarParticles.UpdateBoundingBox() 25 self._extraMapStars.mesh.minBounds = self._extraStarParticles.aabbMin 26 self._extraMapStars.mesh.maxBounds = self._extraStarParticles.aabbMax 27 28 def CreateStarParticles(self, starParticleData): 29 pass 30 31 def ConstructStarDataTexture(self): 32 pass 33 34 def SetItemElement(self, particleID, idx, value): 35 pass 36 37 def UpdateStarParticleData(self): 38 pass 39 40 def ResetVariables(self): 41 self._extraMapStars = None 42 self._extraStarParticles = None 43 44 def ChangeDisplayState(self, displayState): 45 if self._extraMapStars: 46 self._extraMapStars.display = displayState 47 48 49 class WorldMapExtraDataTextureController(BaseExtraStarParticleController): 50 51 def CreateStarParticles(self, starParticleData): 52 self._extraMapStars = trinity.EveTransform() 53 self._extraMapStars.name = 'extraMapStars' 54 self._extraMapStars.sortValueMultiplier = 0.0 55 self._extraStarParticles = trinity.Tr2RuntimeInstanceData() 56 self._extraStarParticles.SetElementLayout([(trinity.PARTICLE_ELEMENT_TYPE.POSITION, 0, 3), 57 (trinity.PARTICLE_ELEMENT_TYPE.POSITION, 1, 3), 58 (trinity.PARTICLE_ELEMENT_TYPE.CUSTOM, 0, 1), 59 (trinity.PARTICLE_ELEMENT_TYPE.CUSTOM, 1, 4), 60 (trinity.PARTICLE_ELEMENT_TYPE.CUSTOM, 2, 1), 61 (trinity.PARTICLE_ELEMENT_TYPE.CUSTOM, 3, 1)]) 62 extraMesh = trinity.Tr2InstancedMesh() 63 extraMesh.geometryResPath = 'res:/Graphics/Generic/UnitPlane/UnitPlane.gr2' 64 extraMesh.instanceGeometryResource = self._extraStarParticles 65 self._extraMapStars.mesh = extraMesh 66 extraArea = trinity.Tr2MeshArea() 67 extraArea.effect = trinity.Tr2Effect() 68 extraArea.effect.effectFilePath = PARTICLE_EFFECT 69 extraArea.effect.resources.append(self._extraStarDataTexture) 70 extraMesh.transparentAreas.append(extraArea) 71 self._extraStarParticles.SetData(starParticleData) 72 73 def ConstructStarDataTexture(self): 74 heattex = trinity.TriTextureParameter() 75 heattex.name = 'HeatTexture' 76 heattex.resourcePath = PARTICLE_SPRITE_DATA_TEXTURE_TEST 77 self._extraStarDataTexture = heattex 78 79 def SetItemElement(self, particleID, idx, value): 80 self._extraStarParticles.SetItemElement(particleID, idx, value) 81 82 def UpdateStarParticleData(self): 83 self._extraStarParticles.UpdateData()