Example #1
0
 def __filteredRelContactPos(self, contact):
     rawPos = self.__relContactPos(contact)
     if self.__isFiltered():
         f = self.__filters[contact]
         return avg.Point2D(f[0].apply(rawPos.x, player.getFrameTime()),
                 f[1].apply(rawPos.y, player.getFrameTime()))
     else:
         return rawPos
Example #2
0
 def __filteredRelContactPos(self, contact):
     rawPos = self.__relContactPos(contact)
     if self.__isFiltered():
         f = self.__filters[contact]
         return avg.Point2D(f[0].apply(rawPos.x, player.getFrameTime()),
                 f[1].apply(rawPos.y, player.getFrameTime()))
     else:
         return rawPos
 def __moveContact(self):
     time = player.getFrameTime()
     rawPos = self.__contact.events[-1].pos
     self.__rawContactCircle.pos = rawPos
     filteredPos = avg.Point2D(self.__filters[0].apply(rawPos.x, time),
             self.__filters[1].apply(rawPos.y, time))
     self.__filteredContactCircle.pos = filteredPos
Example #4
0
 def __moveContact(self):
     time = player.getFrameTime()
     rawPos = self.__contact.events[-1].pos
     self.__rawContactCircle.pos = rawPos
     filteredPos = avg.Point2D(self.__filters[0].apply(rawPos.x, time),
                               self.__filters[1].apply(rawPos.y, time))
     self.__filteredContactCircle.pos = filteredPos
    def __on_cursor_down(self, event):
        """
        :type event: avg.CursorEvent
        """
        if event.cursorid in self.__down_events:
            return

        self.__down_events[event.cursorid] = player.getFrameTime()
    def __on_cursor_up(self, event):
        """
        :type event: avg.CursorEvent
        """
        if event.cursorid not in self.__down_events:
            return

        start_time = self.__down_events.pop(event.cursorid)
        if player.getFrameTime() - start_time <= CommonRecognizerDefaults.TAP_MAX_TIME:
            if event.contact.distancefromstart <= CommonRecognizerDefaults.TAP_MAX_DIST:
                self.dispatch(self.__CLICKED, sender=self, event=event)
Example #7
0
    def __on_swipe_up(self):
        """
        Called when a swipe to the right was recognized.
        """
        if self.__hold_active or self.__double_tap_hold_active:
            return

        event_time = player.getFrameTime() - self.__event_time
        if event_time > self.__device_pointer_config.swipe_max_time:
            return

        StudyLog.get_instance().write_device_canvas_event(
            self.__device, "SWIPE UP")
        self.dispatch(self.__SWIPE, sender=self, direction=SwipeRecognizer.UP)
Example #8
0
    def __on_cursor_down(self, event):
        """
        Called when a cursor down was recognized on this view.

        :type event: CursorEvent
        """
        StudyLog.get_instance().write_device_canvas_touch(
            self.__device, "CURSOR DOWN", event)
        self.dispatch(self.__CURSOR_DOWN, sender=self, event=event)

        if self.__event:
            return

        self.__event = event
        self.__event_id = event.cursorid
        if player.getFrameTime(
        ) - self.__last_tap_time < self.__device_pointer_config.double_tap_hold_max_time:
            self.__double_tap_hold_active = True
            StudyLog.get_instance().write_device_canvas_event(
                self.__device, "DOUBLE TAP HOLD")
            self.dispatch(self.__DOUBLE_TAP_HOLD, sender=self, event=event)
        else:
            self.__event_time = player.getFrameTime()
            self.__event_movement_dist = 0
Example #9
0
 def _handleUp(self, event):
     if self.__stateMachine.state == "DOWN1":
         self.__startTime = player.getFrameTime()
         self.__stateMachine.changeState("UP1")
     elif self.__stateMachine.state == "DOWN2":
         if ((event.pos - self.__startPos).getNorm() >
                 self.__maxDist*player.getPixelsPerMM()):
             self._setFail(event)
         else:
             self._setDetected(event)
         self.__stateMachine.changeState("IDLE")
     elif self.__stateMachine.state == "IDLE":
         pass
     else:
         assert(False), self.__stateMachine.state
Example #10
0
    def __init__(self, pos, icon, waitTime):
        if (self.__class__ in self.spawnTimestamp and
                player.getFrameTime() - self.spawnTimestamp[self.__class__] < waitTime):
            return
        else:
            self.spawnTimestamp[self.__class__] = player.getFrameTime()

        self._state = self.STATE_BUSY
        self._tmr = player.setInterval(100, self.__tick)
        self._remainingTicks = consts.BONUS_AVAILABILITY_TICKS
        
        self._node = widgets.RIImage(href=icon, pos=pos, parent=self.layer)
        diman = avg.LinearAnim(self._node, 'size', self.TRANSITION_TIME,
                self._node.getMediaSize() * self.TRANSITION_ZOOM,
                self._node.getMediaSize())
        opaan = avg.LinearAnim(self._node, 'opacity',
                self.TRANSITION_TIME, 0, self.OPACITY)
        offsan = avg.LinearAnim(self._node, 'pos', self.TRANSITION_TIME,
                Point2D(pos) - self._node.getMediaSize() * self.TRANSITION_ZOOM / 2, pos)
        self._anim = avg.ParallelAnim((diman, opaan, offsan), None, self.__ready)
        self._anim.start()
        self.__cursorid = None

        engine.SoundManager.play('bonus_alert.ogg')
Example #11
0
 def _handleUp(self, event):
     if self.__stateMachine.state == "DOWN1":
         self.__startTime = player.getFrameTime()
         self.__stateMachine.changeState("UP1")
     elif self.__stateMachine.state == "DOWN2":
         if ((event.pos - self.__startPos).getNorm() >
                 self.__maxDist*player.getPixelsPerMM()):
             self._setFail(event)
         else:
             self._setDetected(event)
         self.__stateMachine.changeState("IDLE")
     elif self.__stateMachine.state == "IDLE":
         pass
     else:
         assert(False), self.__stateMachine.state
Example #12
0
 def _handleDown(self, event):
     self.__startTime = player.getFrameTime()
     if self.__stateMachine.state == "IDLE":
         self.__frameHandlerID = player.subscribe(player.ON_FRAME, self.__onFrame)
         self.__stateMachine.changeState("DOWN1")
         self.__startPos = event.pos
         self._setPossible(event)
     elif self.__stateMachine.state == "UP1":
         if ((event.pos - self.__startPos).getNorm() > 
                 self.__maxDist*player.getPixelsPerMM()):
             self.__stateMachine.changeState("IDLE")
             self._setFail(event)
         else:
             self.__stateMachine.changeState("DOWN2")
     else:
         assert(False), self.__stateMachine.state
Example #13
0
 def _handleDown(self, event):
     self.__startTime = player.getFrameTime()
     if self.__stateMachine.state == "IDLE":
         self.__frameHandlerID = player.subscribe(player.ON_FRAME, self.__onFrame)
         self.__stateMachine.changeState("DOWN1")
         self.__startPos = event.pos
         self._setPossible(event)
     elif self.__stateMachine.state == "UP1":
         if ((event.pos - self.__startPos).getNorm() > 
                 self.__maxDist*player.getPixelsPerMM()):
             self.__stateMachine.changeState("IDLE")
             self._setFail(event)
         else:
             self.__stateMachine.changeState("DOWN2")
     else:
         assert(False), self.__stateMachine.state
Example #14
0
    def on_frame(self):
        """
        Needed to be called every frame.
        """
        if not self.__event:
            return
        if self.__double_tap_hold_active or self.__hold_active:
            return

        now = player.getFrameTime()
        down_time = now - self.__event_time
        if down_time <= self.__device_pointer_config.hold_delay:
            return
        if self.__event_movement_dist > self.__device_pointer_config.hold_max_dist * player.getPixelsPerMM(
        ):
            return

        else:
            self.__hold_active = True
            StudyLog.get_instance().write_device_canvas_event(
                self.__device, "HOLD")
            self.dispatch(self.__HOLD, sender=self, event=self.__event)
Example #15
0
    def nextWave(self):
        Missile.speedMul = 1 + (app.instance.mainDiv.difficultyLevel - 1) * consts.SPEEDMUL_OFFSET_LEVEL
        self.nukeFired = False
        self.__wave += 1
        
        nenemies =  int(self.__wave * consts.ENEMIES_WAVE_MULT * \
                (1 + app.instance.mainDiv.difficultyLevel * 0.2))
        
        self.__createSpawnTimeline(nenemies)
        self.__enemiesGone = 0
        self.gameData['initialEnemies'] = nenemies

        slots = [Point2D(x * engine.norm.x(consts.SLOT_WIDTH), engine.norm.size.y - \
                engine.norm.y(60))
                    for x in xrange(1,
                        int(engine.norm.size.x/engine.norm.x(consts.SLOT_WIDTH) + 1))]

        random.shuffle(slots)

        self.gameData['initialAmmo'] = int(nenemies * consts.AMMO_ENEMIES_MULT)
        self.gameData['initialCities'] = consts.CITIES

        for i in xrange(0, consts.TURRETS_AMOUNT):
            Turret(slots.pop(), float(self.gameData['initialAmmo']) /
                    consts.TURRETS_AMOUNT)

        for c in xrange(0, self.gameData['initialCities']):
            City(slots.pop())

        self.__ammoGauge.setColor(consts.COLOR_BLUE)
        self.__ammoGauge.setFVal(1)
        self.__enemiesGauge.setFVal(1)

        self.playTeaser('Wave %d' % self.__wave)
        self.__waveTimer = player.getFrameTime()
        self.__changeGameState(self.GAMESTATE_PLAYING)
        logger.info('Entering wave %d: %s' % (self.__wave, str(self.gameData)))
Example #16
0
 def _onFrame(self):
     downTime = player.getFrameTime() - self.__startTime
     if self.getState() == "POSSIBLE":
         if self.__maxTime and downTime > self.__maxTime:
             self._setFail(None)
     super(TapRecognizer, self)._onFrame()
Example #17
0
 def checkTime():
     self.assertEqual(player.getFrameTime(), 50)
     self.assertEqual(player.getFrameDuration(), 50)
     self.assertEqual(player.getEffectiveFramerate(), 20)
Example #18
0
 def checkTime():
     self.assertEqual(player.getFrameTime(), 50)
     self.assertEqual(player.getFrameDuration(), 50)
     self.assertEqual(player.getEffectiveFramerate(), 20)
Example #19
0
 def onFrame(self):
     self._text.text = '%06d' % player.getFrameTime()
     self._rect.angle += player.getFrameDuration() * 0.001
Example #20
0
 def onFrame(self):
     self.warpedImage.angle = math.sin(player.getFrameTime() / 1000.)
Example #21
0
 def _onFrame(self):
     downTime = player.getFrameTime() - self.__startTime
     if self.getState() == "POSSIBLE":
         if downTime > self.__delay:
             self._setDetected(self.__lastEvent)
     super(HoldRecognizer, self)._onFrame()
Example #22
0
 def __onFrame(self):
     downTime = player.getFrameTime() - self.__startTime
     if downTime > self.__maxTime:
         self._setFail(None)
         self.__stateMachine.changeState("IDLE")
Example #23
0
 def _handleDown(self, event):
     self.__lastEvent = event
     self._setPossible(event)
     self.__startTime = player.getFrameTime()
Example #24
0
 def __onFrame(self):
     downTime = player.getFrameTime() - self.__startTime
     if downTime > self.__maxTime:
         self._setFail(None)
         self.__stateMachine.changeState("IDLE")
Example #25
0
 def _onFrame(self):
     downTime = player.getFrameTime() - self.__startTime
     if self.getState() == "POSSIBLE":
         if self.__maxTime and downTime > self.__maxTime:
             self._setFail(None)
     super(TapRecognizer, self)._onFrame()
Example #26
0
 def onFrame(self):
     self.warpedImage.angle = math.sin(player.getFrameTime()/1000.)
Example #27
0
 def _handleDown(self, event):
     self.__lastEvent = event
     self._setPossible(event)
     self.__startTime = player.getFrameTime()
Example #28
0
 def _debug(cls, msg):
     print '%6d [%s] %s' % (player.getFrameTime(), cls.__name__, msg)
Example #29
0
 def __on_tap(self):
     """
     Called when a tap event has occurred.
     """
     self.__last_tap_time = player.getFrameTime()
     StudyLog.get_instance().write_device_canvas_event(self.__device, "TAP")
Example #30
0
 def _debug(cls, msg):
     print '%6d [%s] %s' %(player.getFrameTime(), cls.__name__, msg)
Example #31
0
 def _onFrame(self):
     downTime = player.getFrameTime() - self.__startTime
     if self.getState() == "POSSIBLE":
         if downTime > self.__delay:
             self._setDetected(self.__lastEvent)
     super(HoldRecognizer, self)._onFrame()
Example #32
0
    def __onFrame(self):
        if self.__currentState:
            dt = player.getFrameTime() - self.__elapsedTime
            self.__currentState.update(dt)

        self.__elapsedTime = player.getFrameTime()
Example #33
0
 def __getWaveTime(self):
     return player.getFrameTime() - self.__waveTimer
Example #34
0
    def onFrame(self):
        dt = player.getFrameTime() - self.__elapsedTime
        self.sequencer.update(dt)

        self.__elapsedTime = player.getFrameTime()