func addCrates(scene *ng.Scene, num int) { var f float64 oldLen := len(crateIDs) nuLen := oldLen + 3 if nuLen > cap(crateIDs) { nu := make([]int, len(crateIDs), len(crateIDs)*2) copy(nu, crateIDs) crateIDs = nu } for i := 0; i < num; i++ { tmpNode = apputil.AddNode(scene, 0, meshCubeID, -1, -1) crateIDs = append(crateIDs, tmpNode.ID) f = float64(oldLen + i) tmpNode.Transform.SetPos((f+3)*-2, (f+1)*2, (f+2)*3) switch i { case 0: tmpNode.Render.MatID = apputil.LibIDs.Mat["mix"] case 1: apputil.AddNode(scene, tmpNode.ID, meshPyrID, apputil.LibIDs.Mat["cat"], -1).Transform.Pos.Y = 2.125 case 2: tmpNode.Render.ModelID = modelCubeCatID } } scene.ApplyNodeTransforms(0) }