@@ -59,33 +59,33 @@ public Script copy(Script scriptToCopy, Scene dstScene, Sprite dstSprite) throws
5959 Script script = scriptToCopy .clone ();
6060
6161 for (Brick brick : script .getBrickList ()) {
62- if (brick instanceof SetLookBrick ) {
62+ if (brick instanceof SetLookBrick && (( SetLookBrick ) brick ). getLook () != null ) {
6363 ((SetLookBrick ) brick ).setLook (lookController
6464 .findOrCopy (((SetLookBrick ) brick ).getLook (), dstScene , dstSprite ));
6565 }
6666
67- if (brick instanceof WhenBackgroundChangesBrick ) {
67+ if (brick instanceof WhenBackgroundChangesBrick && (( WhenBackgroundChangesBrick ) brick ). getLook () != null ) {
6868 ((WhenBackgroundChangesBrick ) brick ).setLook (lookController
6969 .findOrCopy (((WhenBackgroundChangesBrick ) brick ).getLook (), dstScene , dstSprite ));
7070 }
7171
72- if (brick instanceof PlaySoundBrick ) {
72+ if (brick instanceof PlaySoundBrick && (( PlaySoundBrick ) brick ). getSound () != null ) {
7373 ((PlaySoundBrick ) brick ).setSound (soundController
7474 .findOrCopy (((PlaySoundBrick ) brick ).getSound (), dstScene , dstSprite ));
7575 }
7676
77- if (brick instanceof PlaySoundAndWaitBrick ) {
77+ if (brick instanceof PlaySoundAndWaitBrick && (( PlaySoundAndWaitBrick ) brick ). getSound () != null ) {
7878 ((PlaySoundAndWaitBrick ) brick ).setSound (soundController
7979 .findOrCopy (((PlaySoundAndWaitBrick ) brick ).getSound (), dstScene , dstSprite ));
8080 }
8181
82- if (brick instanceof UserVariableBrick ) {
82+ if (brick instanceof UserVariableBrick && (( UserVariableBrick ) brick ). getUserVariable () != null ) {
8383 UserVariable previousUserVar = ((UserVariableBrick ) brick ).getUserVariable ();
8484 ((UserVariableBrick ) brick ).setUserVariable (dstScene .getDataContainer ()
8585 .getUserVariable (dstSprite , previousUserVar .getName ()));
8686 }
8787
88- if (brick instanceof UserListBrick ) {
88+ if (brick instanceof UserListBrick && (( UserListBrick ) brick ). getUserList () != null ) {
8989 UserList previousUserList = ((UserListBrick ) brick ).getUserList ();
9090 ((UserListBrick ) brick ).setUserList (dstScene .getDataContainer ()
9191 .getUserList (dstSprite , previousUserList .getName ()));
@@ -113,22 +113,22 @@ void packForSprite(Script scriptToPack, Sprite dstSprite) throws IOException, Cl
113113 Script script = scriptToPack .clone ();
114114
115115 for (Brick brick : script .getBrickList ()) {
116- if (brick instanceof SetLookBrick ) {
116+ if (brick instanceof SetLookBrick && (( SetLookBrick ) brick ). getLook () != null ) {
117117 ((SetLookBrick ) brick ).setLook (lookController
118118 .packForSprite (((SetLookBrick ) brick ).getLook (), dstSprite ));
119119 }
120120
121- if (brick instanceof WhenBackgroundChangesBrick ) {
121+ if (brick instanceof WhenBackgroundChangesBrick && (( WhenBackgroundChangesBrick ) brick ). getLook () != null ) {
122122 ((WhenBackgroundChangesBrick ) brick ).setLook (lookController
123123 .packForSprite (((WhenBackgroundChangesBrick ) brick ).getLook (), dstSprite ));
124124 }
125125
126- if (brick instanceof PlaySoundBrick ) {
126+ if (brick instanceof PlaySoundBrick && (( PlaySoundBrick ) brick ). getSound () != null ) {
127127 ((PlaySoundBrick ) brick ).setSound (soundController
128128 .packForSprite (((PlaySoundBrick ) brick ).getSound (), dstSprite ));
129129 }
130130
131- if (brick instanceof PlaySoundAndWaitBrick ) {
131+ if (brick instanceof PlaySoundAndWaitBrick && (( PlaySoundAndWaitBrick ) brick ). getSound () != null ) {
132132 ((PlaySoundAndWaitBrick ) brick ).setSound (soundController
133133 .packForSprite (((PlaySoundAndWaitBrick ) brick ).getSound (), dstSprite ));
134134 }
@@ -162,36 +162,28 @@ void unpackForSprite(Script scriptToUnpack, Scene dstScene, Sprite dstSprite) th
162162 return ;
163163 }
164164
165- if (brick instanceof SetLookBrick ) {
165+ if (brick instanceof SetLookBrick && (( SetLookBrick ) brick ). getLook () != null ) {
166166 ((SetLookBrick ) brick )
167167 .setLook (lookController
168- .unpackForSprite (((SetLookBrick ) brick ).getLook (),
169- dstScene ,
170- dstSprite ));
168+ .unpackForSprite (((SetLookBrick ) brick ).getLook (), dstScene , dstSprite ));
171169 }
172170
173- if (brick instanceof WhenBackgroundChangesBrick ) {
171+ if (brick instanceof WhenBackgroundChangesBrick && (( WhenBackgroundChangesBrick ) brick ). getLook () != null ) {
174172 ((WhenBackgroundChangesBrick ) brick )
175173 .setLook (lookController
176- .unpackForSprite (((WhenBackgroundChangesBrick ) brick ).getLook (),
177- dstScene ,
178- dstSprite ));
174+ .unpackForSprite (((WhenBackgroundChangesBrick ) brick ).getLook (), dstScene , dstSprite ));
179175 }
180176
181- if (brick instanceof PlaySoundBrick ) {
177+ if (brick instanceof PlaySoundBrick && (( PlaySoundBrick ) brick ). getSound () != null ) {
182178 ((PlaySoundBrick ) brick )
183179 .setSound (soundController
184- .unpackForSprite (((PlaySoundBrick ) brick ).getSound (),
185- dstScene ,
186- dstSprite ));
180+ .unpackForSprite (((PlaySoundBrick ) brick ).getSound (), dstScene , dstSprite ));
187181 }
188182
189- if (brick instanceof PlaySoundAndWaitBrick ) {
183+ if (brick instanceof PlaySoundAndWaitBrick && (( PlaySoundAndWaitBrick ) brick ). getSound () != null ) {
190184 ((PlaySoundAndWaitBrick ) brick )
191185 .setSound (soundController
192- .unpackForSprite (((PlaySoundAndWaitBrick ) brick ).getSound (),
193- dstScene ,
194- dstSprite ));
186+ .unpackForSprite (((PlaySoundAndWaitBrick ) brick ).getSound (), dstScene , dstSprite ));
195187 }
196188 }
197189
0 commit comments