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

goal.py (1975B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\careergoals\client\goal.py
      2 from careergoals.client.const import RewardLabel
      3 from careergoals.client.goal_definition import GoalDefinition
      4 
      5 class Goal(object):
      6 
      7     def __init__(self, definition, progress, completed, claim_state_per_reward_label):
      8         self._definition = definition
      9         self._progress = progress
     10         self._completed = completed
     11         self._claim_state_per_reward_label = claim_state_per_reward_label
     12 
     13     def mark_local_completed(self):
     14         self._progress = self.definition.target_value
     15 
     16     def mark_local_reward_label_claimed(self, reward_label):
     17         self._claim_state_per_reward_label[reward_label] = True
     18 
     19     def update_local_progress(self, progress):
     20         self._progress = progress
     21 
     22     def is_completed(self):
     23         return self._completed or self._progress >= self.definition.target_value
     24 
     25     def has_unclaimed_rewards(self):
     26         return self.is_completed() and any((x is False for x in self._claim_state_per_reward_label.itervalues()))
     27 
     28     def is_reward_claimed(self, reward):
     29         return self._claim_state_per_reward_label.get(reward.reward_label, True)
     30 
     31     def is_reward_label_claimed(self, reward_label):
     32         return self._claim_state_per_reward_label.get(reward_label, True)
     33 
     34     def get_unclaimed_rewards(self):
     35         return [ x for x in self.definition.rewards if not self.is_reward_claimed(x) ]
     36 
     37     def get_unclaimed_reward_labels(self):
     38         return [ x for x, y in self._claim_state_per_reward_label.iteritems() if y is False ]
     39 
     40     @property
     41     def goal_id(self):
     42         return self.definition.goal_id
     43 
     44     @property
     45     def definition(self):
     46         return self._definition
     47 
     48     @property
     49     def progress(self):
     50         return self._progress
     51 
     52     @property
     53     def claim_state_per_reward_label(self):
     54         if not self.is_completed():
     55             return {}
     56         return self._claim_state_per_reward_label