diff --git a/src/targets/Bank.py b/src/Bank.py similarity index 84% rename from src/targets/Bank.py rename to src/Bank.py index 99455ad..bf05ab1 100644 --- a/src/targets/Bank.py +++ b/src/Bank.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class Bank(Target): def __init__(self, targets): diff --git a/src/targets/BankTarget.py b/src/BankTarget.py similarity index 77% rename from src/targets/BankTarget.py rename to src/BankTarget.py index 561c93f..01af8cc 100644 --- a/src/targets/BankTarget.py +++ b/src/BankTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class BankTarget(Target): def __init__(self, points): diff --git a/src/EventHandler.py b/src/EventHandler.py new file mode 100644 index 0000000..8cefb28 --- /dev/null +++ b/src/EventHandler.py @@ -0,0 +1,23 @@ +import asyncio +from src.networking.Networking import Networking + +from src.targets import * + +class EventHandler: + def __init__(self): + self.isRunning = True + self.targets = dict + self.createAllTargets() + + def createAllTargets(self): + glo = globals() # Save globals so the dict does not change during execution of the script + for key in glo: + target = glo[key] + if(key.endswith('Target') and type(target) == 'class'): + self.targets[key] = target() + + async def handleEvents(self): + while(self.isRunning): + event = Networking.getInputEvent() + self.targets[event].hit() + diff --git a/src/targets/Target.py b/src/Target.py similarity index 100% rename from src/targets/Target.py rename to src/Target.py diff --git a/src/targets/FifthFixedTarget.py b/src/targets/FifthFixedTarget.py index d17af37..5755e11 100644 --- a/src/targets/FifthFixedTarget.py +++ b/src/targets/FifthFixedTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class FifthFixedTarget(Target): def __init__(self): diff --git a/src/targets/FirstFixedTarget.py b/src/targets/FirstFixedTarget.py index 191f223..69694f5 100644 --- a/src/targets/FirstFixedTarget.py +++ b/src/targets/FirstFixedTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class FirstFixedTarget(Target): diff --git a/src/targets/FixedSpecialOrangeTarget.py b/src/targets/FixedSpecialOrangeTarget.py index c081825..e29889d 100644 --- a/src/targets/FixedSpecialOrangeTarget.py +++ b/src/targets/FixedSpecialOrangeTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target # A standup target. When lit, it scores the Orange Special (operator # adjustable) for Nothing, Extra Ball, Replay, Super Bonus, or 300,000 diff --git a/src/targets/FixedSpecialRedTarget.py b/src/targets/FixedSpecialRedTarget.py index 2c6ec2d..caf0a0c 100644 --- a/src/targets/FixedSpecialRedTarget.py +++ b/src/targets/FixedSpecialRedTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target # A standup target. When lit, it scores the Red Special (operator # adjustable) for Nothing, Extra Ball, Replay, Super Bonus, or 1,000,000 diff --git a/src/targets/FourthFixedTarget.py b/src/targets/FourthFixedTarget.py index aeb167a..9a4defb 100644 --- a/src/targets/FourthFixedTarget.py +++ b/src/targets/FourthFixedTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class FourthFixedTarget(Target): def __init__(self): diff --git a/src/targets/LeftDropTarget.py b/src/targets/LeftDropTarget.py index 617e594..19c307f 100644 --- a/src/targets/LeftDropTarget.py +++ b/src/targets/LeftDropTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class LeftDropTarget(Target): def __init__(self): diff --git a/src/targets/LeftInlaneTarget.py b/src/targets/LeftInlaneTarget.py index aeb8717..79b53d5 100644 --- a/src/targets/LeftInlaneTarget.py +++ b/src/targets/LeftInlaneTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class LeftInlaneTarget(Target): def __init__(self): diff --git a/src/targets/LeftLaneButton1Target.py b/src/targets/LeftLaneButton1Target.py index b6187b4..e0b94fa 100644 --- a/src/targets/LeftLaneButton1Target.py +++ b/src/targets/LeftLaneButton1Target.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class LeftLaneButton1Target(Target): def __init__(self): diff --git a/src/targets/LeftLaneButton2Target.py b/src/targets/LeftLaneButton2Target.py index 61d589c..8e8d9a4 100644 --- a/src/targets/LeftLaneButton2Target.py +++ b/src/targets/LeftLaneButton2Target.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class LeftLaneButton2Target(Target): diff --git a/src/targets/LeftLaneButton3Target.py b/src/targets/LeftLaneButton3Target.py index 5fe2c35..fd82f8a 100644 --- a/src/targets/LeftLaneButton3Target.py +++ b/src/targets/LeftLaneButton3Target.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class LeftLaneButton3Target(Target): diff --git a/src/targets/LeftLaneButton4Target.py b/src/targets/LeftLaneButton4Target.py index 4d8be65..88a49d4 100644 --- a/src/targets/LeftLaneButton4Target.py +++ b/src/targets/LeftLaneButton4Target.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class LeftLaneButton4Target(Target): diff --git a/src/targets/LeftLaneButton5Target.py b/src/targets/LeftLaneButton5Target.py index c0650fc..beaa8b9 100644 --- a/src/targets/LeftLaneButton5Target.py +++ b/src/targets/LeftLaneButton5Target.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class LeftLaneButton5Target(Target): diff --git a/src/targets/LeftOutlaneTarget.py b/src/targets/LeftOutlaneTarget.py index 7d37c38..56a790b 100644 --- a/src/targets/LeftOutlaneTarget.py +++ b/src/targets/LeftOutlaneTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class LeftOutlaneTarget(Target): def __init__(self): diff --git a/src/targets/LeftPopBumperTarget.py b/src/targets/LeftPopBumperTarget.py index 562626b..8293fc0 100644 --- a/src/targets/LeftPopBumperTarget.py +++ b/src/targets/LeftPopBumperTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class LeftPopBumperTarget(Target): diff --git a/src/targets/LeftSlingshotTarget.py b/src/targets/LeftSlingshotTarget.py index 54c26a3..2cf3576 100644 --- a/src/targets/LeftSlingshotTarget.py +++ b/src/targets/LeftSlingshotTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class LeftSlingshotTarget(Target): def __init__(self): diff --git a/src/targets/MiddleDropTarget.py b/src/targets/MiddleDropTarget.py index 1de5c9f..34cef34 100644 --- a/src/targets/MiddleDropTarget.py +++ b/src/targets/MiddleDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class MiddleDropTarget(Target): def __init__(self): diff --git a/src/targets/MiddleLeftDropTarget.py b/src/targets/MiddleLeftDropTarget.py index ba68c1c..53770b4 100644 --- a/src/targets/MiddleLeftDropTarget.py +++ b/src/targets/MiddleLeftDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class MiddleLeftDropTarget(Target): def __init__(self): diff --git a/src/targets/MiddleRightDropTarget.py b/src/targets/MiddleRightDropTarget.py index 19b5833..7c9f6b4 100644 --- a/src/targets/MiddleRightDropTarget.py +++ b/src/targets/MiddleRightDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class MiddleRightDropTarget(Target): def __init__(self): diff --git a/src/targets/OutholeTarget.py b/src/targets/OutholeTarget.py index 25073cb..8cf92e3 100644 --- a/src/targets/OutholeTarget.py +++ b/src/targets/OutholeTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class OutholeTarget(Target): def __init__(self): diff --git a/src/targets/ReboundContactTarget.py b/src/targets/ReboundContactTarget.py index b8f32cd..f6efd42 100644 --- a/src/targets/ReboundContactTarget.py +++ b/src/targets/ReboundContactTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class ReboundContactTarget(Target): def __init__(self): diff --git a/src/targets/RightDropTarget.py b/src/targets/RightDropTarget.py index 8386734..79d0b09 100644 --- a/src/targets/RightDropTarget.py +++ b/src/targets/RightDropTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class RightDropTarget(Target): def __init__(self): diff --git a/src/targets/RightInlaneTarget.py b/src/targets/RightInlaneTarget.py index 7761bd3..8e04755 100644 --- a/src/targets/RightInlaneTarget.py +++ b/src/targets/RightInlaneTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class RightInlaneTarget(Target): diff --git a/src/targets/RightOutlaneKickerTarget.py b/src/targets/RightOutlaneKickerTarget.py index b79d232..99ca62d 100644 --- a/src/targets/RightOutlaneKickerTarget.py +++ b/src/targets/RightOutlaneKickerTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class RightOutlaneKickerTarget(Target): diff --git a/src/targets/RightOutlaneTarget.py b/src/targets/RightOutlaneTarget.py index 67d095d..70d4157 100644 --- a/src/targets/RightOutlaneTarget.py +++ b/src/targets/RightOutlaneTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class RightOutlaneTarget(Target): diff --git a/src/targets/RightPopBumperTarget.py b/src/targets/RightPopBumperTarget.py index a77c6df..2556d98 100644 --- a/src/targets/RightPopBumperTarget.py +++ b/src/targets/RightPopBumperTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class RightPopBumperTarget(Target): def __init__(self): diff --git a/src/targets/RightSlingshotTarget.py b/src/targets/RightSlingshotTarget.py index 5e79d0e..4a0c8b9 100644 --- a/src/targets/RightSlingshotTarget.py +++ b/src/targets/RightSlingshotTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class RightSlingshotTarget(Target): diff --git a/src/targets/SecondFixedTarget.py b/src/targets/SecondFixedTarget.py index 7120f41..e081f95 100644 --- a/src/targets/SecondFixedTarget.py +++ b/src/targets/SecondFixedTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class SecondFixedTarget(Target): diff --git a/src/targets/SpinnerTarget.py b/src/targets/SpinnerTarget.py index 52313a5..95577e8 100644 --- a/src/targets/SpinnerTarget.py +++ b/src/targets/SpinnerTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class SpinnerTarget(Target): def __init__(self): diff --git a/src/targets/ThirdFixedTarget.py b/src/targets/ThirdFixedTarget.py index 943a614..929318e 100644 --- a/src/targets/ThirdFixedTarget.py +++ b/src/targets/ThirdFixedTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class ThirdFixedTarget(Target): def __init__(self): diff --git a/src/targets/UPLeftDropTarget.py b/src/targets/UPLeftDropTarget.py index 6ffb91d..3f4bc4a 100644 --- a/src/targets/UPLeftDropTarget.py +++ b/src/targets/UPLeftDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class UPLeftDropTarget(Target): def __init__(self): diff --git a/src/targets/UPMiddleDropTarget.py b/src/targets/UPMiddleDropTarget.py index f3ddecf..02b4e39 100644 --- a/src/targets/UPMiddleDropTarget.py +++ b/src/targets/UPMiddleDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class UPMiddleDropTarget(Target): def __init__(self): diff --git a/src/targets/UPMiddleLeftDropTarget.py b/src/targets/UPMiddleLeftDropTarget.py index 971a500..200c11f 100644 --- a/src/targets/UPMiddleLeftDropTarget.py +++ b/src/targets/UPMiddleLeftDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class UPMiddleLeftDropTarget(Target): def __init__(self): diff --git a/src/targets/UPMiddleRightDropTarget.py b/src/targets/UPMiddleRightDropTarget.py index c3b3fa8..7657b8b 100644 --- a/src/targets/UPMiddleRightDropTarget.py +++ b/src/targets/UPMiddleRightDropTarget.py @@ -1,4 +1,4 @@ -from Target import Target +from src.Target import Target class UPMiddleRightDropTarget(Target): def __init__(self): diff --git a/src/targets/UPRightDropTarget.py b/src/targets/UPRightDropTarget.py index 43b8320..3e3839c 100644 --- a/src/targets/UPRightDropTarget.py +++ b/src/targets/UPRightDropTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class UPRightDropTarget(Target): diff --git a/src/targets/UpperPlayfieldRollUnderTarget.py b/src/targets/UpperPlayfieldRollUnderTarget.py index 1188ed6..a070176 100644 --- a/src/targets/UpperPlayfieldRollUnderTarget.py +++ b/src/targets/UpperPlayfieldRollUnderTarget.py @@ -1,4 +1,4 @@ -from src.targets.Target import Target +from src.Target import Target class UpperPlayfieldRollUnderTarget(Target): diff --git a/src/targets/__init__.py b/src/targets/__init__.py new file mode 100644 index 0000000..eedb95f --- /dev/null +++ b/src/targets/__init__.py @@ -0,0 +1,15 @@ +__all__ = [] + +import pkgutil +import inspect + +for loader, name, is_pkg in pkgutil.walk_packages(__path__): + module = loader.find_module(name).load_module(name) + + for name, value in inspect.getmembers(module): + if name.startswith('__'): + continue + + globals()[name] = value + __all__.append(name) +