Source code for arcade.arcade_types

"""
Module specifying data custom types used for type hinting.
"""
from collections import namedtuple
from typing import List, NamedTuple, Optional, Sequence, Tuple, Union

from pytiled_parser import Properties

RGB = Union[Tuple[int, int, int], List[int]]
RGBA = Union[Tuple[int, int, int, int], List[int]]
Color = Union[RGB, RGBA]
Point = Union[Tuple[float, float], List[float]]
NamedPoint = namedtuple("NamedPoint", ["x", "y"])

Vector = Point
PointList = Sequence[Point]
Rect = Union[Tuple[float, float, float, float], List[float]]  # x, y, width, height
RectList = Union[Tuple[Rect, ...], List[Rect]]


[docs]class TiledObject(NamedTuple): shape: Union[Point, PointList, Rect] properties: Optional[Properties] = None name: Optional[str] = None type: Optional[str] = None