@@ -36,6 +36,7 @@ ProjectScene {
36
36
fileName: root .fileName
37
37
stageWidth: root .stageWidth
38
38
stageHeight: root .stageHeight
39
+
39
40
onLoadingFinished: {
40
41
priv .loading = false ;
41
42
@@ -44,7 +45,25 @@ ProjectScene {
44
45
else
45
46
failedToLoad ();
46
47
}
48
+
47
49
onStageChanged: stage .loadCostume ();
50
+
51
+ onCloneCreated : (cloneModel )=> clones .model .append ({" spriteModel" : cloneModel})
52
+
53
+ onCloneDeleted : (cloneModel )=> {
54
+ // TODO: Removing the clone from C++ would probably be faster
55
+ let i;
56
+
57
+ for (i = 0 ; i < clones .model .count ; i++ ) {
58
+ if (clones .model .get (i).spriteModel === cloneModel)
59
+ break ;
60
+ }
61
+
62
+ if (i === clones .model .count )
63
+ console .error (" error: deleted clone doesn't exist" );
64
+ else
65
+ clones .model .remove (i);
66
+ }
48
67
}
49
68
50
69
function start () {
@@ -78,12 +97,14 @@ ProjectScene {
78
97
79
98
RenderedTarget {
80
99
id: target
81
- engine: loader .engine
82
- spriteModel: modelData
83
100
mouseArea: sceneMouseArea
84
101
stageScale: root .stageScale
85
102
transform: Scale { xScale: mirrorHorizontally ? - 1 : 1 }
86
- Component .onCompleted : modelData .renderedTarget = this
103
+ Component .onCompleted : {
104
+ engine = loader .engine ;
105
+ spriteModel = modelData;
106
+ spriteModel .renderedTarget = this ;
107
+ }
87
108
}
88
109
}
89
110
@@ -93,6 +114,12 @@ ProjectScene {
93
114
delegate: renderedSprite
94
115
}
95
116
117
+ Repeater {
118
+ id: clones
119
+ model: ListModel {}
120
+ delegate: renderedSprite
121
+ }
122
+
96
123
Loader {
97
124
anchors .fill : parent
98
125
active: showLoadingProgress && loading
0 commit comments