v3.3.6: added a sync check to actor processing while iterating all
This commit is contained in:
@@ -252,15 +252,17 @@ public abstract class Actor implements Bundlable {
|
|||||||
if (!interrupted && !Game.switchingScene()) {
|
if (!interrupted && !Game.switchingScene()) {
|
||||||
float earliest = Float.MAX_VALUE;
|
float earliest = Float.MAX_VALUE;
|
||||||
|
|
||||||
for (Actor actor : all) {
|
synchronized (Actor.class) {
|
||||||
|
for (Actor actor : all) {
|
||||||
//some actors will always go before others if time is equal.
|
|
||||||
if (actor.time < earliest ||
|
//some actors will always go before others if time is equal.
|
||||||
actor.time == earliest && (current == null || actor.actPriority > current.actPriority)) {
|
if (actor.time < earliest ||
|
||||||
earliest = actor.time;
|
actor.time == earliest && (current == null || actor.actPriority > current.actPriority)) {
|
||||||
current = actor;
|
earliest = actor.time;
|
||||||
|
current = actor;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user