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

achievement_reached_milestone.py (2075B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\model\state\achievement_reached_milestone.py
      2 import datetime
      3 from achievement_system.client.model.definition.achievement.milestone.identifier import AchievementMilestoneDefinitionIdentifier
      4 from eveProto.generated.eve_public.achievement.api.requests_pb2 import GetResponse as ProtoGetResponse
      5 from google.protobuf.timestamp_pb2 import Timestamp
      6 
      7 class AchievementReachedMilestone(object):
      8 
      9     def __init__(self, identifier, reached_date, category_points_awarded):
     10         self._identifier = identifier
     11         self._reached_date = reached_date
     12         self._category_points_awarded = category_points_awarded
     13 
     14     @property
     15     def identifier(self):
     16         return self._identifier
     17 
     18     @property
     19     def reached_date(self):
     20         return self._reached_date
     21 
     22     @property
     23     def category_points_awarded(self):
     24         return self._category_points_awarded
     25 
     26     def __str__(self):
     27         return 'Reached Milestone ({0})\n{1}\n{2}'.format(self._identifier, self._reached_date, self._category_points_awarded)
     28 
     29     @classmethod
     30     def from_proto(cls, payload):
     31         return AchievementReachedMilestone(identifier=AchievementMilestoneDefinitionIdentifier.from_proto(payload=payload.milestone), reached_date=datetime.datetime.fromtimestamp(payload.reached_date.seconds), category_points_awarded=payload.category_points_awarded)
     32 
     33     @classmethod
     34     def to_proto(cls, instance):
     35         proto_reached_date = Timestamp()
     36         proto_reached_date.FromDatetime(instance.reached_date)
     37         return ProtoGetResponse.ReachedMilestone(milestone=AchievementMilestoneDefinitionIdentifier.to_proto(instance.identifier), reached_date=proto_reached_date, category_points_awarded=instance.category_points_awarded)
     38 
     39     def __eq__(self, other):
     40         return self.identifier == other.identifier and self.reached_date == other.reached_date and self.category_points_awarded == other.category_points_awarded
     41 
     42     def __ne__(self, other):
     43         return not self.__eq__(other)