@@ -64,8 +64,8 @@ class _SupportsSprite(_HasImageAndRect, Protocol):
6464 def add_internal (self , group : _Group ) -> None : ...
6565 def remove_internal (self , group : _Group ) -> None : ...
6666 def update (self , * args : Any , ** kwargs : Any ) -> None : ...
67- def add (self , * groups : _Group ) -> None : ...
68- def remove (self , * groups : _Group ) -> None : ...
67+ def add (self , * groups : _GroupOrGroups [ Any ] ) -> None : ...
68+ def remove (self , * groups : _GroupOrGroups [ Any ] ) -> None : ...
6969 def kill (self ) -> None : ...
7070 def alive (self ) -> bool : ...
7171 def groups (self ) -> list [_Group ]: ...
@@ -94,12 +94,12 @@ class Sprite(_SupportsSprite):
9494 def layer (self ) -> int : ...
9595 @layer .setter
9696 def layer (self , value : int ) -> None : ...
97- def __init__ (self , * groups : _Group ) -> None : ...
97+ def __init__ (self , * groups : _GroupOrGroups [ Any ] ) -> None : ...
9898 def add_internal (self , group : _Group ) -> None : ...
9999 def remove_internal (self , group : _Group ) -> None : ...
100100 def update (self , * args : Any , ** kwargs : Any ) -> None : ...
101- def add (self , * groups : _Group ) -> None : ...
102- def remove (self , * groups : _Group ) -> None : ...
101+ def add (self , * groups : _GroupOrGroups [ Any ] ) -> None : ...
102+ def remove (self , * groups : _GroupOrGroups [ Any ] ) -> None : ...
103103 def kill (self ) -> None : ...
104104 def alive (self ) -> bool : ...
105105 def groups (self ) -> list [AbstractGroup [_SupportsSprite ]]: ...
@@ -120,8 +120,8 @@ _TSprite = TypeVar("_TSprite", bound=_SupportsSprite)
120120_TSprite2 = TypeVar ("_TSprite2" , bound = _SupportsSprite )
121121_TDirtySprite = TypeVar ("_TDirtySprite" , bound = _SupportsDirtySprite )
122122
123- # typevar for sprite or iterable of sprites, used in Group init, add and remove
124- _SpriteOrIterable = Union [_TSprite , Iterable [_SpriteOrIterable [_TSprite ]]]
123+ _GroupOrGroups = Union [ AbstractGroup [ _TSprite ], Iterable [ _GroupOrGroups [ _TSprite ]]]
124+ _SpriteOrSprites = Union [_TSprite , Iterable [_SpriteOrSprites [_TSprite ]]]
125125
126126class AbstractGroup (Generic [_TSprite ]):
127127 spritedict : dict [_TSprite , Optional [Union [FRect , Rect ]]]
@@ -137,9 +137,9 @@ class AbstractGroup(Generic[_TSprite]):
137137 def has_internal (self , sprite : _TSprite ) -> bool : ...
138138 def copy (self ) -> Self : ...
139139 def sprites (self ) -> list [_TSprite ]: ...
140- def add (self , * sprites : _SpriteOrIterable [_TSprite ]) -> None : ...
141- def remove (self , * sprites : _SpriteOrIterable [_TSprite ]) -> None : ...
142- def has (self , * sprites : _SpriteOrIterable [_TSprite ]) -> bool : ...
140+ def add (self , * sprites : _SpriteOrSprites [_TSprite ]) -> None : ...
141+ def remove (self , * sprites : _SpriteOrSprites [_TSprite ]) -> None : ...
142+ def has (self , * sprites : _SpriteOrSprites [_TSprite ]) -> bool : ...
143143 def update (self , * args : Any , ** kwargs : Any ) -> None : ...
144144 def draw (
145145 self , surface : Surface , bgd : Optional [Surface ] = None , special_flags : int = 0
@@ -152,7 +152,7 @@ class AbstractGroup(Generic[_TSprite]):
152152 def empty (self ) -> None : ...
153153
154154class Group (AbstractGroup [_TSprite ]):
155- def __init__ (self , * sprites : _SpriteOrIterable [_TSprite ]) -> None : ...
155+ def __init__ (self , * sprites : _SpriteOrSprites [_TSprite ]) -> None : ...
156156
157157# these are aliased in the code too
158158@deprecated ("Use `pygame.sprite.Group` instead" )
@@ -167,10 +167,8 @@ class RenderUpdates(Group[_TSprite]): ...
167167class OrderedUpdates (RenderUpdates [_TSprite ]): ...
168168
169169class LayeredUpdates (AbstractGroup [_TSprite ]):
170- def __init__ (
171- self , * sprites : _SpriteOrIterable [_TSprite ], ** kwargs : Any
172- ) -> None : ...
173- def add (self , * sprites : _SpriteOrIterable [_TSprite ], ** kwargs : Any ) -> None : ...
170+ def __init__ (self , * sprites : _SpriteOrSprites [_TSprite ], ** kwargs : Any ) -> None : ...
171+ def add (self , * sprites : _SpriteOrSprites [_TSprite ], ** kwargs : Any ) -> None : ...
174172 def get_sprites_at (self , pos : Point ) -> list [_TSprite ]: ...
175173 def get_sprite (self , idx : int ) -> _TSprite : ...
176174 def remove_sprites_of_layer (self , layer_nr : int ) -> list [_TSprite ]: ...
0 commit comments