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

setposter.py (751B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\behaviors\blackboards\utility\setposter.py
      2 
      3 
      4 class SetPoster(object):
      5 
      6     def __init__(self, channel):
      7         self.channel = channel
      8 
      9     def entry_added(self, entry):
     10         _set = self.channel.GetLastMessageValue()
     11         if _set is None:
     12             _set = {entry}
     13         elif entry not in _set:
     14             _set.add(entry)
     15         else:
     16             return False
     17         self.channel.SendMessage(_set)
     18         return True
     19 
     20     def entry_removed(self, entry):
     21         _set = self.channel.GetLastMessageValue()
     22         if not _set:
     23             return False
     24         if entry not in _set:
     25             return False
     26         _set.discard(entry)
     27         return True