Ver Fonte

prevent events from being triggered immediately if added in an event (fix wait(0) infinite loop)

Nicolas Cannasse há 5 meses atrás
pai
commit
f9c7696d26
1 ficheiros alterados com 5 adições e 2 exclusões
  1. 5 2
      hxd/WaitEvent.hx

+ 5 - 2
hxd/WaitEvent.hx

@@ -47,11 +47,14 @@ class WaitEvent {
 
 
 	public function update(dt:Float) {
 	public function update(dt:Float) {
 		var i = 0;
 		var i = 0;
+		var max = updateList.length;
 		while (i < updateList.length) {
 		while (i < updateList.length) {
+			if( i == max ) break;
 			var f = updateList[i];
 			var f = updateList[i];
-			if(f(dt))
+			if(f(dt)) {
 				updateList.remove(f);
 				updateList.remove(f);
-			else
+				max--;
+			} else
 				++i;
 				++i;
 		}
 		}
 	}
 	}