|
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