File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,19 +42,23 @@ type Scene struct {
4242}
4343
4444// NewSceneForScene returns a new [Scene] for existing [xyz.Scene],
45- // in given parent (if non-nil ).
46- func NewSceneForScene (parent tree. Node , sc * xyz.Scene ) * Scene {
45+ // in given parent (optional ).
46+ func NewSceneForScene (sc * xyz.Scene , parent ... tree. Node ) * Scene {
4747 sc .Destroy () // reset any existing GPU stuff, so it gets properly rebuilt
4848 n := & Scene {XYZ : sc }
4949 ni := any (n ).(tree.Node )
50- n .Scene = parent .(core.Widget ).AsWidget ().Scene
50+ var p tree.Node
51+ if len (parent ) > 0 {
52+ p = parent [0 ]
53+ n .Scene = p .(core.Widget ).AsWidget ().Scene
54+ }
5155 tree .InitNode (ni )
52- if parent == nil {
56+ if p == nil {
5357 n .SetName (n .NodeType ().IDName )
5458 return n
5559 }
56- parent .AsTree ().Children = append (parent .AsTree ().Children , ni )
57- tree .SetParent (ni , parent )
60+ p .AsTree ().Children = append (p .AsTree ().Children , ni )
61+ tree .SetParent (ni , p )
5862 return n
5963}
6064
Original file line number Diff line number Diff line change @@ -25,21 +25,23 @@ type SceneEditor struct {
2525
2626// NewSceneForScene returns a new [Scene] for existing [xyz.Scene],
2727// in given parent (if non-nil).
28- func NewSceneEditorForScene (parent tree. Node , sc * xyz.Scene ) * SceneEditor {
28+ func NewSceneEditorForScene (sc * xyz.Scene , parent ... tree. Node ) * SceneEditor {
2929 n := & SceneEditor {}
3030 ni := any (n ).(tree.Node )
3131 tree .InitNode (ni )
32- n .Scene = parent .(core.Widget ).AsWidget ().Scene
33-
34- sw := NewSceneForScene (ni , sc )
32+ var p tree.Node
33+ if len (parent ) > 0 {
34+ p = parent [0 ]
35+ n .Scene = p .(core.Widget ).AsWidget ().Scene
36+ }
37+ sw := NewSceneForScene (sc , ni )
3538 sw .SetName ("scene" )
36-
37- if parent == nil {
39+ if p == nil {
3840 n .SetName (n .NodeType ().IDName )
39- } else {
40- parent .AsTree ().Children = append (parent .AsTree ().Children , ni )
41- tree .SetParent (ni , parent )
41+ return n
4242 }
43+ p .AsTree ().Children = append (p .AsTree ().Children , ni )
44+ tree .SetParent (ni , p )
4345 return n
4446}
4547
You can’t perform that action at this time.
0 commit comments