# Path: stats/enums.py
# class StatsEnum(Enum):
#     Health = 'health'
#     Mana = 'mana'
#     Strength = 'strength'
#     Dexterity = 'dexterity'
#     Constitution = 'constitution'
#     Intelligence = 'intelligence'
#     Charisma = 'charisma'
#     Wisdom = 'wisdom'
#     Sharpness = 'sharpness'
#     Hardness = 'hardness'
#     Weight = 'weight'
#     Size = 'size'
#     Potency = 'potency'
#     MaxDamage = 'max_damage'
#     MinDamage = 'min_damage'
#     ArmorClass = 'armor_class'


from stats.enums import StatsEnum


class Outfit(object):
    """
    This represents the outfit at spawn of a character.
    It allows us to apply multiple outfits for multiple type of characters.
    """
    def __init__(self, uid, items_worn=None, items_held=None, items_in_inventory=None):
        self.uid = uid
        self.items_worn = items_worn if items_worn else []
        self.items_held = items_held if items_held else []
        self.items_in_inventory = items_in_inventory if items_in_inventory else []

    def apply(self, game_object):
        if game_object.stats:
            new_size = game_object.stats.get_current_value(StatsEnum.Size)
            if game_object.equipment:
                for item in self.items_worn:

# Path: stats/enums.py
# class StatsEnum(Enum):
#     Health = 'health'
#     Mana = 'mana'
#     Strength = 'strength'
#     Dexterity = 'dexterity'
#     Constitution = 'constitution'
#     Intelligence = 'intelligence'
#     Charisma = 'charisma'
#     Wisdom = 'wisdom'
#     Sharpness = 'sharpness'
#     Hardness = 'hardness'
#     Weight = 'weight'
#     Size = 'size'
#     Potency = 'potency'
#     MaxDamage = 'max_damage'
#     MinDamage = 'min_damage'
#     ArmorClass = 'armor_class'


# Path: characters/outfit.py
from stats.enums import StatsEnum



class Outfit(object):
    """
    This represents the outfit at spawn of a character.
    It allows us to apply multiple outfits for multiple type of characters.
    """
    def __init__(self, uid, items_worn=None, items_held=None, items_in_inventory=None):
        self.uid = uid
        self.items_worn = items_worn if items_worn else []
        self.items_held = items_held if items_held else []
        self.items_in_inventory = items_in_inventory if items_in_inventory else []

    def apply(self, game_object):
        if game_object.stats:
            new_size = game_object.stats.get_current_value(StatsEnum.Size)
            if game_object.equipment:
                for item in self.items_worn:

                    item.stats.set_total_core_value(StatsEnum.Size, new_size)