configuration.py (1731B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\achievement_system\client\model\definition\contribution_method\configuration.py 2 from achievement_system.client.model.definition.contribution_method.identifier import ContributionMethodIdentifier 3 from achievement_system.client.model.definition.contribution_method.parameter.configuration import ContributionMethodParameterConfiguration 4 from achievement_system.client.model.flatbuffer.generated import ContributionConfig as FlatbufferContributionConfig 5 if False: 6 from typing import List 7 8 class ContributionMethodConfiguration(object): 9 10 def __init__(self, identifier, parameters): 11 self._identifier = identifier 12 self._parameters = parameters 13 14 @property 15 def identifier(self): 16 return self._identifier 17 18 @property 19 def parameters(self): 20 return self._parameters 21 22 def get_parameter_config_by_identifier(self, identifier): 23 for param in self._parameters: 24 if param.identifier == identifier: 25 return param 26 27 @classmethod 28 def from_flatbuffer(cls, fb_data): 29 return ContributionMethodConfiguration(identifier=ContributionMethodIdentifier.from_flatbuffer(fb_data.MethodId()), parameters=[ ContributionMethodParameterConfiguration.from_flatbuffer(fb_data.Parameters(i)) for i in range(fb_data.ParametersLength()) ]) 30 31 def __eq__(self, other): 32 return self.identifier == other.identifier and self.parameters == other.parameters 33 34 def __ne__(self, other): 35 return not self.__eq__(other) 36 37 def __str__(self): 38 return 'identifier: %s\n' % self.identifier + 'parameters: %s' % '\n, '.join([ p.__str__() for p in self.parameters ])