From 0ec83ab8cb7e31363fb994a282911156579dc514 Mon Sep 17 00:00:00 2001 From: Simon Cross Date: Tue, 6 Sep 2016 21:44:40 +0200 Subject: [PATCH] Add broken click handling. --- tabakrolletjie/scenes/day.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tabakrolletjie/scenes/day.py b/tabakrolletjie/scenes/day.py index 31590d4..9d410c2 100644 --- a/tabakrolletjie/scenes/day.py +++ b/tabakrolletjie/scenes/day.py @@ -1,15 +1,20 @@ """ Be prepared. """ +import pygame.display import pygame.locals as pgl import pymunk +import pymunk.pygame_util from .base import BaseScene +from ..constants import FITTINGS_CATEGORY from ..lights import BaseLight from ..obstacles import BaseObstacle from ..events import SceneChangeEvent from ..utils import debug_timer +CLICK_FILTER = pymunk.ShapeFilter(mask=FITTINGS_CATEGORY) + class DayScene(BaseScene): def enter(self, gamestate): @@ -33,6 +38,16 @@ class DayScene(BaseScene): for light in self._lights: light.render_fittings(surface) + def left_click(self, surfpos): + print "LEFT" + pos = pymunk.pygame_util.from_pygame( + surfpos, pygame.display.get_surface()) + print surfpos, pos + print self._space.point_query(pos, 1.0, CLICK_FILTER) + + def right_click(self, pos): + pass + def event(self, ev, gamestate): if ev.type == pgl.KEYDOWN: if ev.key in (pgl.K_q, pgl.K_ESCAPE): @@ -41,6 +56,11 @@ class DayScene(BaseScene): elif ev.key == pgl.K_t: for light in self._lights: light.toggle() + elif ev.type == pgl.MOUSEBUTTONDOWN: + if ev.button == 1: + self.left_click(ev.pos) + elif ev.button == 3: + self.right_click(ev.pos) @debug_timer("day.tick") def tick(self, gamestate): -- 2.34.1