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

duration.py (1602B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\objectives\client\objective_task\duration.py
      2 from gametime import GetSimTime
      3 from localization.formatters import FormatTimeIntervalShortWritten
      4 from objectives.client.ui.objective_task_widget import DurationTaskWidget
      5 from .base import ObjectiveTask
      6 
      7 class DurationTask(ObjectiveTask):
      8     objective_task_content_id = 69
      9     WIDGET = DurationTaskWidget
     10 
     11     def __init__(self, start_time = None, stop_time = None, **kwargs):
     12         super(DurationTask, self).__init__(**kwargs)
     13         self._start_time = start_time or None
     14         self._stop_time = stop_time or None
     15 
     16     @property
     17     def start_time(self):
     18         return self._start_time
     19 
     20     @start_time.setter
     21     def start_time(self, value):
     22         if self._start_time == value:
     23             return
     24         self._start_time = value
     25         self.update()
     26 
     27     @property
     28     def stop_time(self):
     29         return self._stop_time
     30 
     31     @stop_time.setter
     32     def stop_time(self, value):
     33         if self._stop_time == value:
     34             return
     35         self._stop_time = value
     36         self.update()
     37 
     38     @property
     39     def duration(self):
     40         if not self._start_time:
     41             return 0
     42         if self._stop_time:
     43             return self._stop_time - self._start_time
     44         return GetSimTime() - self._start_time
     45 
     46     @property
     47     def value(self):
     48         return FormatTimeIntervalShortWritten(self.duration)
     49 
     50     def _update(self):
     51         self.on_update(objective_task=self)
     52         self.hidden = not self._start_time
     53         self.completed = self._stop_time