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

jumppolarizationcontroller.py (1389B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\spacecomponents\jumppolarizationcontroller.py
      2 from eve.client.script.spacecomponents.countercontroller import BaseCounterController
      3 from spacecomponents.client.messages import MSG_ON_JUMP_POLARIZATION_UPDATED
      4 from spacecomponents.common.componentConst import JUMP_POLARIZATION_CLASS
      5 import blue
      6 POLARIZED_TIMER_COLOR = (1.0, 0.5, 0.0, 1.0)
      7 
      8 class JumpPolarizationCounterController(BaseCounterController):
      9     __componentClass__ = JUMP_POLARIZATION_CLASS
     10     __counterColor__ = POLARIZED_TIMER_COLOR
     11     __counterLabel__ = 'UI/Inflight/SpaceComponents/JumpPolarization/Polarized'
     12     __timerFunc__ = blue.os.GetSimTime
     13     __countsDown__ = True
     14     __soundFinishedEvent__ = 'bounty_open_play'
     15 
     16     def __init__(self, *args):
     17         BaseCounterController.__init__(self, *args)
     18         self.componentRegistry.SubscribeToItemMessage(self.itemID, MSG_ON_JUMP_POLARIZATION_UPDATED, self.UpdateTimerState)
     19 
     20     def UpdateTimerState(self, instance, slimItem):
     21         if instance.isPolarized:
     22             if self.timer is None:
     23                 self.AddTimer(instance.polarizationEndTime, instance.polarizationDuration)
     24             else:
     25                 self.timer.SetExpiryTime(instance.polarizationEndTime, long(instance.polarizationDuration * const.SEC))
     26         else:
     27             self.RemoveTimer()