def read_bonus(self): if not self.read_boolean(): return None return Bonus(self.read_long(), self.read_double(), self.read_double(), self.read_double(), self.read_double(), self.read_double(), self.read_enum(Faction), self.read_double(), self.read_enum(BonusType))
def read_bonuses(self): bonus_count = self.read_int() if bonus_count < 0: return None bonuses = [] for bonus_index in range(bonus_count): if self.read_boolean(): bonus = Bonus(self.read_long(), self.read_double(), self.read_double(), self.read_double(), self.read_double(), self.read_enum(BonusType)) bonuses.append(bonus) else: bonuses.append(None) return bonuses