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

event_messenger.py (2072B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\repository\message_bus\event_messenger.py
      2 import logging
      3 from eveProto.generated.eve_public.character.character_pb2 import Identifier
      4 from achievement_system.client.model.definition.achievement.identifier import AchievementDefinitionIdentifier
      5 from achievement_system.common.const import LOGGER_NAME
      6 from eveProto.generated.eve_public.achievement.api.events_pb2 import Pinned, Unpinned, Tracked, Untracked
      7 from publicGateway.gateway import PublicGateway
      8 logger = logging.getLogger(LOGGER_NAME)
      9 
     10 class AchievementEventMessenger(object):
     11 
     12     def __init__(self, public_gateway):
     13         self.public_gateway = public_gateway
     14 
     15     def publish_pinned_event(self, character_id, achievement_id):
     16         event = Pinned(character=Identifier(sequential=character_id), achievement=AchievementDefinitionIdentifier.to_proto(instance=achievement_id))
     17         self.public_gateway.publish_event_payload(event)
     18         logger.info('Published Pinned event: %s', event)
     19 
     20     def publish_unpinned_event(self, character_id, achievement_id):
     21         event = Unpinned(character=Identifier(sequential=character_id), achievement=AchievementDefinitionIdentifier.to_proto(instance=achievement_id))
     22         self.public_gateway.publish_event_payload(event)
     23         logger.info('Published Unpinned event: %s', event)
     24 
     25     def publish_tracked_event(self, character_id, achievement_id):
     26         event = Tracked(character=Identifier(sequential=character_id), achievement=AchievementDefinitionIdentifier.to_proto(instance=achievement_id))
     27         self.public_gateway.publish_event_payload(event)
     28         logger.info('Published Traacked event: %s', event)
     29 
     30     def publish_untracked_event(self, character_id, achievement_id):
     31         event = Untracked(character=Identifier(sequential=character_id), achievement=AchievementDefinitionIdentifier.to_proto(instance=achievement_id))
     32         self.public_gateway.publish_event_payload(event)
     33         logger.info('Published Untracked event: %s', event)