backgroundObject.py (2220B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\environment\spaceObject\backgroundObject.py 2 import math 3 from eve.client.script.environment.spaceObject.spaceObject import SpaceObject 4 from gametime import GetSecondsSinceSimTime 5 import geo2 6 import trinity 7 8 class BackgroundObject(SpaceObject): 9 10 def LoadModel(self): 11 graphicURL = self.typeData.get('graphicFile') 12 if graphicURL is None: 13 self.logger.error('BackgroundObject graphicURL is None, cannot load model. TypeID is %s', self.typeID) 14 return 15 obj = trinity.Load(graphicURL) 16 self.backgroundObject = obj 17 slimItem = self.typeData.get('slimItem', None) 18 if slimItem: 19 position = slimItem.dunPosition 20 if position: 21 try: 22 self.backgroundObject.translation = position 23 except AttributeError: 24 pass 25 26 if hasattr(obj, 'SetControllerVariable'): 27 timeAddedToSpace = slimItem.timeAddedToSpace or -1 28 lifetime = GetSecondsSinceSimTime(timeAddedToSpace) 29 removalAge = slimItem.duration or lifetime + 90000.0 30 obj.SetControllerVariable('lifeTime', lifetime) 31 obj.SetControllerVariable('removeTime', removalAge) 32 rot = self.typeData.get('dunRotation', None) 33 if rot: 34 yaw, pitch, roll = map(math.radians, rot) 35 quat = geo2.QuaternionRotationSetYawPitchRoll(yaw, pitch, roll) 36 try: 37 self.backgroundObject.rotation = quat 38 except AttributeError: 39 pass 40 41 scene = self.spaceMgr.GetScene() 42 scene.backgroundObjects.append(obj) 43 self.SetupAmbientAudio(model=obj) 44 try: 45 obj.StartControllers() 46 except AttributeError: 47 pass 48 49 def Release(self): 50 if self.released or not hasattr(self, 'backgroundObject'): 51 return 52 scene = self.spaceMgr.GetScene() 53 if scene: 54 scene.backgroundObjects.fremove(self.backgroundObject) 55 self.backgroundObject = None 56 SpaceObject.Release(self, 'BackgroundObject')