class Event: pass def EventCreate(etime,etype,eparm1,eparm2,eparm3,eparm4): ev = Event() ev.time = etime ev.type = etype ev.p1 = eparm1 ev.p2 = eparm2 ev.p3 = eparm3 ev.p4 = eparm4 return ev def EventToString(ev): return "[" + str(ev.time) + "," + str(ev.type) + "," + \ str(ev.p1) + "," + str(ev.p2) + "," + str(ev.p3) + "]" currentTime = 0 def tick(): global currentTime currentTime = currentTime + 1 eventlist = [] def PrintEvents(): for e in eventlist: print EventToString(e) def AddEvent(newEvent): if len(eventlist) == 0: eventlist.append(newEvent) else: time = newEvent.time for i in range(len(eventlist)): checkevent = eventlist[i] if time < checkevent.time: eventlist.insert(i,newEvent) return eventlist.append(newEvent) def NextEvent(): global currentTime if len(eventlist) == 0: return None event = eventlist[0] if currentTime == event.time: del eventlist[0] return event else: return None