func VectorFmtRotation(v engine.Vector, arr []float32, s string) engine.Vector { if len(s) == 0 && len(arr) == 1 { v.Z = arr[0] return v } return VectorFmt(v, arr, s) }
func VectorFmt(v engine.Vector, arr []float32, s string) engine.Vector { if len(s) == 0 { if len(arr) > 2 { v.X = arr[0] v.Y = arr[1] v.Z = arr[2] } else if len(arr) > 1 { v.X = arr[0] v.Y = arr[1] } else { v.X = arr[0] } return v } if (len(s) <= 3 && len(s) >= 1) && len(arr) == 1 { for _, r := range s { switch r { case 'x', 'X': v.X = arr[0] case 'y', 'Y': v.Y = arr[0] case 'z', 'Z': v.Z = arr[0] } } return v } for i, r := range s { if i >= len(arr) { break } switch r { case 'x', 'X': v.X = arr[i] case 'y', 'Y': v.Y = arr[i] case 'z', 'Z': v.Z = arr[i] } } return v }