public static void NET_Poll() { SetNetTime(); for (PollProcedure pp = pollProcedureList; pp != null; pp = pp.next) { if (pp.nextTime > net_time) { break; } pollProcedureList = pp.next; pp.procedure(pp.arg); } }
public static void SchedulePollProcedure(PollProcedure proc, double timeOffset) { proc.nextTime = Sys_FloatTime() + timeOffset; PollProcedure pp, prev; for (pp = pollProcedureList, prev = null; pp != null; pp = pp.next) { if (pp.nextTime >= proc.nextTime) { break; } prev = pp; } if (prev == null) { proc.next = pollProcedureList; pollProcedureList = proc; return; } proc.next = pp; prev.next = proc; }