attributes.py (5737B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\model\definition\reward\attributes.py 2 from achievement_system.client.api.error import UnsupportedTypeError 3 from achievement_system.client.model.definition.reward.type import RewardType 4 from achievement_system.client.model.flatbuffer.generated import ItemReward as FlatbufferItemReward 5 from achievement_system.client.model.flatbuffer.generated import IskReward as FlatbufferIskReward 6 from achievement_system.client.model.flatbuffer.generated import SpReward as FlatbufferSpReward 7 from achievement_system.client.model.flatbuffer.generated import TitleReward as FlatbufferTitleReward 8 from achievement_system.client.model.flatbuffer.generated import Reward as FlatbufferReward 9 from achievement_system.client.model.flatbuffer.generated import RewardPayload as FlatbufferRewardPayload 10 from cosmetics.client.character.title.model.definition.identifier import TitleIdentifier 11 12 def from_flatbuffer(fb_data): 13 payload_type = fb_data.PayloadType() 14 payload = fb_data.Payload() 15 if payload_type == FlatbufferRewardPayload.IskReward: 16 reward_object = FlatbufferIskReward() 17 reward_object.Init(payload.Bytes, payload.Pos) 18 return IskRewardDefinitionAttributes(internal_name=fb_data.InternalName(), amount=reward_object.Quantity()) 19 if payload_type == FlatbufferRewardPayload.SpReward: 20 reward_object = FlatbufferSpReward() 21 reward_object.Init(payload.Bytes, payload.Pos) 22 return SpRewardDefinitionAttributes(internal_name=fb_data.InternalName(), amount=reward_object.Quantity()) 23 if payload_type == FlatbufferRewardPayload.ItemReward: 24 reward_object = FlatbufferItemReward() 25 reward_object.Init(payload.Bytes, payload.Pos) 26 return ItemRewardDefinitionAttributes(internal_name=fb_data.InternalName(), type_id=reward_object.TypeId(), amount=reward_object.Quantity()) 27 if payload_type == FlatbufferRewardPayload.TitleReward: 28 reward_object = FlatbufferTitleReward() 29 reward_object.Init(payload.Bytes, payload.Pos) 30 return TitleRewardDefinitionAttributes(internal_name=fb_data.InternalName(), title_identifier=TitleIdentifier.from_flatbuffer(reward_object.TitleId())) 31 raise UnsupportedTypeError 32 33 34 class RewardDefinitionAttributes(object): 35 36 def __init__(self, reward_type, internal_name): 37 self._reward_type = reward_type 38 self._internal_name = internal_name 39 40 @property 41 def reward_type(self): 42 return self._reward_type 43 44 @property 45 def internal_name(self): 46 return self._internal_name 47 48 def __eq__(self, other): 49 return self.reward_type == other.reward_type and self.internal_name == other.internal_name 50 51 def __ne__(self, other): 52 return not self.__eq__(other) 53 54 def __str__(self): 55 return 'internal name: %s\n' % self.internal_name + 'reward type: %s' % self.reward_type 56 57 58 class IskRewardDefinitionAttributes(RewardDefinitionAttributes): 59 60 def __init__(self, internal_name, amount): 61 super(IskRewardDefinitionAttributes, self).__init__(RewardType.ISK, internal_name) 62 self._amount = amount 63 64 @property 65 def amount(self): 66 return self._amount 67 68 def __eq__(self, other): 69 return super(IskRewardDefinitionAttributes, self).__eq__(other) and self.amount == other.amount 70 71 def __ne__(self, other): 72 return not self.__eq__(other) 73 74 def __str__(self): 75 return super(IskRewardDefinitionAttributes, self).__str__() + '\n' + 'amount: %s' % self.amount 76 77 78 class SpRewardDefinitionAttributes(RewardDefinitionAttributes): 79 80 def __init__(self, internal_name, amount): 81 super(SpRewardDefinitionAttributes, self).__init__(RewardType.SP, internal_name) 82 self._amount = amount 83 84 @property 85 def amount(self): 86 return self._amount 87 88 def __eq__(self, other): 89 return super(SpRewardDefinitionAttributes, self).__eq__(other) and self.amount == other.amount 90 91 def __ne__(self, other): 92 return not self.__eq__(other) 93 94 def __str__(self): 95 return super(SpRewardDefinitionAttributes, self).__str__() + '\n' + 'amount: %s' % self.amount 96 97 98 class ItemRewardDefinitionAttributes(RewardDefinitionAttributes): 99 100 def __init__(self, internal_name, type_id, amount): 101 super(ItemRewardDefinitionAttributes, self).__init__(RewardType.ITEM, internal_name) 102 self._type_id = type_id 103 self._amount = amount 104 105 @property 106 def type_id(self): 107 return self._type_id 108 109 @property 110 def amount(self): 111 return self._amount 112 113 def __eq__(self, other): 114 return super(ItemRewardDefinitionAttributes, self).__eq__(other) and self.type_id == other.type_id and self.amount == other.amount 115 116 def __ne__(self, other): 117 return not self.__eq__(other) 118 119 def __str__(self): 120 return super(ItemRewardDefinitionAttributes, self).__str__() + '\n' + 'type_id: %s\n' % self.type_id + 'amount: %s' % self.amount 121 122 123 class TitleRewardDefinitionAttributes(RewardDefinitionAttributes): 124 125 def __init__(self, internal_name, title_identifier): 126 super(TitleRewardDefinitionAttributes, self).__init__(RewardType.TITLE, internal_name) 127 self._title_identifier = title_identifier 128 129 @property 130 def title_identifier(self): 131 return self._title_identifier 132 133 def __eq__(self, other): 134 return super(TitleRewardDefinitionAttributes, self).__eq__(other) and self.title_identifier == other.title_identifier 135 136 def __ne__(self, other): 137 return not self.__eq__(other) 138 139 def __str__(self): 140 return super(TitleRewardDefinitionAttributes, self).__str__() + '\n' + 'title: %s\n' % self.title_identifier