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