Beispiel #1
0
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)
}