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

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')