This doesn't really make any sense. There are 3 axes to choose from. It makes more sense to let the programmer call the constructor directly with the axes they want to retain.
Vector2 is pretty much unused. I don't see the value of adding a bunch of extra methods that no one will use anyway. It's simpler to just call new Vector2 directly.
This doesn't really make any sense. There are 3 axes to choose from. It makes more sense to let the programmer call the constructor directly with the axes they want to retain.