# Path: roglick/engine/colors.py
# class RGBBlendedColor(libtcod.Color):
# class HSVBlendedColor(libtcod.Color):
#     def __init__(self, color1, color2, blend=0.50):
#     def __init__(self, color1, color2, blend=0.50):
# def RGBtoHSV(r, g, b):
# def HSVtoRGB(h, s, v):
# 
# Path: roglick/engine/ecs/component.py
# class ComponentBase(object, metaclass=ComponentMeta):
#     """Base class for Components to inherit from.
# 
#     Components should primarily just be data containers; logic should live
#     elsewhere, mostly in Systems."""
#     __slots__ = ()
#     _properties = ()
# 
#     def __init__(self, *args, **kwargs):
#         """A generic init method for initializing properties.
# 
#         Properties can be set on initialization via either positional or
#         keyword arguments. The _properties property should be a tuple of
#         2-tuples in the form (k,v), where k is the property name and v is the
#         property's default value; positional initialization follows the same
#         order as _properties.
#         """
#         # Start by initializing our properties to default values
#         for k,v in self._properties:
#             setattr(self, k, v)
# 
#         # For any positional arguments, assign those values to our properties
#         # This is done in order of our __slots__ property
#         for k,v in zip(self.__slots__, args):
#             setattr(self, k, v)
#         # For any keyword arguments, assign those values to our properties
#         # Keywords must of course match one of our properties
#         for k in kwargs:
#             setattr(self, k, kwargs[k])
# 
#     def __repr__(self):
#         values = []
#         for k, default in self._properties:
#             values.append("{k}={v}".format(k=k, v=getattr(self, k)))
# 
#         values = ", ".join(values)
# 
#         return "{cls}({values})".format(
#                 cls = self.__class__.__name__,
#                 values = values)


from roglick.engine import colors
from roglick.engine.ecs import ComponentBase


class PositionComponent(ComponentBase):
    _properties = (('x', 0), ('y', 0))


class SpriteComponent(ComponentBase):

# Path: roglick/engine/colors.py
# class RGBBlendedColor(libtcod.Color):
# class HSVBlendedColor(libtcod.Color):
#     def __init__(self, color1, color2, blend=0.50):
#     def __init__(self, color1, color2, blend=0.50):
# def RGBtoHSV(r, g, b):
# def HSVtoRGB(h, s, v):
# 
# Path: roglick/engine/ecs/component.py
# class ComponentBase(object, metaclass=ComponentMeta):
#     """Base class for Components to inherit from.
# 
#     Components should primarily just be data containers; logic should live
#     elsewhere, mostly in Systems."""
#     __slots__ = ()
#     _properties = ()
# 
#     def __init__(self, *args, **kwargs):
#         """A generic init method for initializing properties.
# 
#         Properties can be set on initialization via either positional or
#         keyword arguments. The _properties property should be a tuple of
#         2-tuples in the form (k,v), where k is the property name and v is the
#         property's default value; positional initialization follows the same
#         order as _properties.
#         """
#         # Start by initializing our properties to default values
#         for k,v in self._properties:
#             setattr(self, k, v)
# 
#         # For any positional arguments, assign those values to our properties
#         # This is done in order of our __slots__ property
#         for k,v in zip(self.__slots__, args):
#             setattr(self, k, v)
#         # For any keyword arguments, assign those values to our properties
#         # Keywords must of course match one of our properties
#         for k in kwargs:
#             setattr(self, k, kwargs[k])
# 
#     def __repr__(self):
#         values = []
#         for k, default in self._properties:
#             values.append("{k}={v}".format(k=k, v=getattr(self, k)))
# 
#         values = ", ".join(values)
# 
#         return "{cls}({values})".format(
#                 cls = self.__class__.__name__,
#                 values = values)


# Path: roglick/components/display.py
from roglick.engine import colors
from roglick.engine.ecs import ComponentBase



class PositionComponent(ComponentBase):
    _properties = (('x', 0), ('y', 0))


class SpriteComponent(ComponentBase):

    _properties = (('glyph', ' '), ('color', colors.white))