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

CameraAttachmentEffect.py (1467B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\environment\effects\CameraAttachmentEffect.py
      2 from __future__ import print_function
      3 from eve.client.script.environment.effects.GenericEffect import GenericEffect, STOP_REASON_DEFAULT
      4 import trinity
      5 import logging
      6 log = logging.getLogger(__name__)
      7 
      8 class CameraAttachmentEffect(GenericEffect):
      9     __guid__ = 'effects.CameraAttachmentEffect'
     10 
     11     def __init__(self, trigger, effect = None, graphicFile = None):
     12         super(CameraAttachmentEffect, self).__init__(trigger, effect, graphicFile)
     13         self.fileName = self.graphicFile
     14         self.fxSequencer = sm.GetService('FxSequencer')
     15         self.scene = self.fxSequencer.GetScene()
     16         if graphicFile is not None:
     17             self.effect = self.RecycleOrLoad(graphicFile)
     18         else:
     19             self.effect = None
     20         print(self.effect)
     21 
     22     def Start(self, duration):
     23         if self.effect:
     24             self.effect.StartControllers()
     25             if self.scene:
     26                 self.scene.cameraAttachments.append(self.effect)
     27         else:
     28             log.error('Could not load cameraAttachment %s.' % self.fileName)
     29 
     30     def Stop(self, reason = STOP_REASON_DEFAULT):
     31         if self.scene and self.scene.cameraAttachments:
     32             if self.effect in self.scene.cameraAttachments:
     33                 self.scene.cameraAttachments.fremove(self.effect)
     34         self.scene = None
     35         self.effect = None