WaitEvent() after PeekEvent() to get EventSource()
BlitzPlus Forums/BlitzPlus Beginners Area/WaitEvent() after PeekEvent() to get EventSource()| 
 | ||
| I call WaintEvent() after PeekEvent() gives me something, so that I can check EventSource() etc. Is there a downside doing code like this? There isn't a need for FlushEvents if I call WaitEvent() whenever PeekEvent() gives an event, right? Event = PeekEvent() If Event <> 0 Then Event = WaitEvent() ... do something about the events... | 
| 
 | ||
| some people, honestly.... Here is one for you.... asd asg 356 eg 57u 5h3 57u 5736u 36u ? Any ideas? | 
| 
 | ||
| uh Fox.. o_O What's so difficult about a normal typical daily boring loop? Like this: 
Repeat
  Delay 2
  Waitevent()
  If EventID()=$803 quit=true
  If EventID()=$401
    If EventSource()=button01
    EndIf
    If EventSource()=button02
    EndIf
    If EventSource()=button03
    EndIf ; etc.
  EndIf
  If EventID()=$201
    If EventSource()=MyCanvas
    EndIf
  EndIf
Until quit
Don't make things more difficult than they are.. | 
| 
 | ||
| By doing as fox suggests it means that it loops regardless off  whether there is an event. | 
| 
 | ||
| And what if my loop is inside a timer ? | 
| 
 | ||
| CS_TBL, There are a good number of reasons. The main reason being that my game logic is not based on waiting for events to occur. I also prefer to have clean code, and wrapping all the event based code within a single IF is a big plus from that viewpoint. | 
| 
 | ||
| Say you have 2 windows, one working on a canvas and one with a  set of gadgets. You don't want to have to press a button or do somthing everytime you want somthing to happen on the canvas. | 
| 
 | ||
| Which is why I'd put that update routine inside a timer :) | 
| 
 | ||
| I do it like this: 
Repeat
    Select WaitEvent(0)
        Case $803
            Exit
        ; Other event handling goes here
    End Select
    ; Game logic code goes here
Forever
WaitEvent() doesn't have to wait! |