Skip to content

Commit 7e64ae4

Browse files
committed
Add missing event names to EventDispatch.
Change EventDispatch so that missing names will warn instead of crashing.
1 parent 9ed914b commit 7e64ae4

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ Changes relevant to the users of python-tcod are documented here.
44
This project adheres to [Semantic Versioning](https://semver.org/) since version `2.0.0`.
55

66
## [Unreleased]
7+
### Fixed
8+
- `EventDispatch` was missing new event names.
79

810
## [13.8.0] - 2022-09-22
911
### Added

tcod/event.py

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1325,7 +1325,11 @@ def dispatch(self, event: Any) -> Optional[T]:
13251325
stacklevel=2,
13261326
)
13271327
return None
1328-
func: Callable[[Any], Optional[T]] = getattr(self, "ev_%s" % (event.type.lower(),))
1328+
func_name = f"ev_{event.type.lower()}"
1329+
func: Optional[Callable[[Any], Optional[T]]] = getattr(self, func_name, None)
1330+
if func is None:
1331+
warnings.warn(f"{func_name} is missing from this EventDispatch object.", RuntimeWarning, stacklevel=2)
1332+
return None
13291333
return func(event)
13301334

13311335
def event_get(self) -> None:
@@ -1446,6 +1450,36 @@ def ev_joydeviceremoved(self, event: tcod.event.JoystickDevice) -> Optional[T]:
14461450
.. versionadded:: 13.8
14471451
"""
14481452

1453+
def ev_controlleraxismotion(self, event: tcod.event.ControllerAxis) -> Optional[T]:
1454+
"""
1455+
.. versionadded:: Unreleased
1456+
"""
1457+
1458+
def ev_controllerbuttondown(self, event: tcod.event.ControllerButton) -> Optional[T]:
1459+
"""
1460+
.. versionadded:: Unreleased
1461+
"""
1462+
1463+
def ev_controllerbuttonup(self, event: tcod.event.ControllerButton) -> Optional[T]:
1464+
"""
1465+
.. versionadded:: Unreleased
1466+
"""
1467+
1468+
def ev_controllerdeviceadded(self, event: tcod.event.ControllerDevice) -> Optional[T]:
1469+
"""
1470+
.. versionadded:: Unreleased
1471+
"""
1472+
1473+
def ev_controllerdeviceremoved(self, event: ControllerDevice) -> Optional[T]:
1474+
"""
1475+
.. versionadded:: Unreleased
1476+
"""
1477+
1478+
def ev_controllerdeviceremapped(self, event: ControllerDevice) -> Optional[T]:
1479+
"""
1480+
.. versionadded:: Unreleased
1481+
"""
1482+
14491483
def ev_(self, event: Any) -> Optional[T]:
14501484
pass
14511485

0 commit comments

Comments
 (0)