|
6 | 6 | import java.time.Month;
|
7 | 7 | import java.time.temporal.ChronoUnit;
|
8 | 8 | import java.util.AbstractMap;
|
9 |
| -import java.util.ArrayList; |
10 | 9 | import java.util.Comparator;
|
11 | 10 | import java.util.List;
|
12 | 11 | import java.util.Queue;
|
|
40 | 39 | */
|
41 | 40 | public class Stage {
|
42 | 41 |
|
43 |
| - private final List<Image> backdrops = new ArrayList<>(); |
| 42 | + private final List<Image> backdrops = new CopyOnWriteArrayList<>(); |
44 | 43 | private Color color = new Color();
|
45 | 44 | private int currentBackdrop = 0;
|
46 |
| - private final List<Sound> sounds = new ArrayList<>(); |
| 45 | + private final List<Sound> sounds = new CopyOnWriteArrayList<>(); |
47 | 46 | private int currentShader = 0;
|
48 |
| - private List<Shader> shaders = new ArrayList<>(); |
| 47 | + private List<Shader> shaders = new CopyOnWriteArrayList<>(); |
49 | 48 |
|
50 | 49 | private PGraphics mainBuffer;
|
51 | 50 |
|
@@ -145,10 +144,10 @@ public Stage(boolean fullScreen, String assets) {
|
145 | 144 | public Stage(int width, final int height, boolean fullScreen, String assets) {
|
146 | 145 | this.cursor = null;
|
147 | 146 | this.camera = new Camera();
|
148 |
| - this.texts = new ArrayList<>(); |
149 |
| - this.pens = new ArrayList<>(); |
150 |
| - this.sprites = new ArrayList<>(); |
151 |
| - this.shaders = new ArrayList<>(); |
| 147 | + this.texts = new CopyOnWriteArrayList<>(); |
| 148 | + this.pens = new CopyOnWriteArrayList<>(); |
| 149 | + this.sprites = new CopyOnWriteArrayList<>(); |
| 150 | + this.shaders = new CopyOnWriteArrayList<>(); |
152 | 151 | this.backgroundStamps = new ConcurrentLinkedQueue<>();
|
153 | 152 | this.foregroundStamps = new ConcurrentLinkedQueue<>();
|
154 | 153 | this.uiStamps = new ConcurrentLinkedQueue<>();
|
|
0 commit comments