File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -83,12 +83,15 @@ class Backpack extends React.Component {
83
83
}
84
84
handleDrop ( dragInfo ) {
85
85
let payloader = null ;
86
+ let presaveAsset = null ;
86
87
switch ( dragInfo . dragType ) {
87
88
case DragConstants . COSTUME :
88
89
payloader = costumePayload ;
90
+ presaveAsset = dragInfo . payload . asset ;
89
91
break ;
90
92
case DragConstants . SOUND :
91
93
payloader = soundPayload ;
94
+ presaveAsset = dragInfo . payload . asset ;
92
95
break ;
93
96
case DragConstants . SPRITE :
94
97
payloader = spritePayload ;
@@ -102,6 +105,19 @@ class Backpack extends React.Component {
102
105
// Creating the payload is async, so set loading before starting
103
106
this . setState ( { loading : true } , ( ) => {
104
107
payloader ( dragInfo . payload , this . props . vm )
108
+ . then ( payload => {
109
+ // Force the asset to save to the asset server before storing in backpack
110
+ // Ensures any asset present in the backpack is also on the asset server
111
+ if ( presaveAsset && ! presaveAsset . clean ) {
112
+ return storage . store (
113
+ presaveAsset . assetType ,
114
+ presaveAsset . dataFormat ,
115
+ presaveAsset . data ,
116
+ presaveAsset . assetId
117
+ ) . then ( ( ) => payload ) ;
118
+ }
119
+ return payload ;
120
+ } )
105
121
. then ( payload => saveBackpackObject ( {
106
122
host : this . props . host ,
107
123
token : this . props . token ,
You can’t perform that action at this time.
0 commit comments