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

navigation.py (1318B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\monitors\navigation.py
      2 from ballpark.const import DESTINY_MODE_WARP
      3 from ballpark.messenger.const import MESSAGE_ON_BALL_MODE_CHANGED
      4 from behaviors.groups.mixin import GroupTaskMixin
      5 from behaviors.tasks import Task
      6 
      7 class GroupMemberWarpModeChangedMonitor(Task, GroupTaskMixin):
      8 
      9     def __init__(self, attributes = None):
     10         super(GroupMemberWarpModeChangedMonitor, self).__init__(attributes)
     11         self.trackedItemIds = None
     12 
     13     def OnEnter(self):
     14         self.SetStatusToSuccess()
     15         self.trackedItemIds = self.GetItemsToTrack()
     16         for itemId in self.trackedItemIds:
     17             self.SubscribeItem(itemId, MESSAGE_ON_BALL_MODE_CHANGED, self.OnItemBallModeChanged)
     18 
     19     def CleanUp(self):
     20         if self.IsInvalid():
     21             return
     22         for itemId in self.trackedItemIds:
     23             self.UnsubscribeItem(itemId, MESSAGE_ON_BALL_MODE_CHANGED, self.OnItemBallModeChanged)
     24 
     25         self.SetStatusToInvalid()
     26 
     27     def GetItemsToTrack(self):
     28         return self.GetMemberIdList()
     29 
     30     def OnItemBallModeChanged(self, oldMode, newMode):
     31         if self.IsInvalid():
     32             return
     33         if DESTINY_MODE_WARP in (oldMode, newMode):
     34             self.behaviorTree.RequestReset(requestedBy=self)