This is a pack of scripts that contain extension methods that adds more functionality to existing Unity classes such as Vector2 and Vector3. So far, this repository is quite small, but I will be adding different extensions over time.
- VectorExtensions (Contains extension methods for
Vector2andVector3) - ListExtensions (Contains extension methods for
System.Collections.Generic.IList<T>) - OccurrenceList (Contains an enumerable class
OccurrenceList<T>) MouseSimulation (Contains a class that simulates mouse input)(Obsolete. See link)
Here are some examples of what this pack can do:
Vector3 myVector = new Vector3(1.4f, -56f, 0.642f); myVector = myVector.AddX(0.6f).AddY(6f); // Adds 0.6f to X, and 6f to Y Debug.Log(myVector); // Outputs "(2, -50, 0.642)" Debug.Log(myVector.Invert()); // Outputs "(-2, 50, -0.642)" Debug.Log(myVector.WithZ(0f)); // Outputs "(2, -50, 0)" Vector3Int myVectorInt = myVector.ToVector3Int(); // Converts the Vector3 to a Vector3Int Debug.Log(myVectorInt.WithY(-10)); // Outputs "(2, -10, 1)" int[] arr = int[] { 1, 2, 3, 4, 5 }; Debug.Log(arr.Pick()); // Outputs a random element of this array (example: "3") arr.Shuffle(); // Shuffles/randomizes the array foreach (int i in arr) { // Outputs the shuffled/randomized array (example: "2 3 5 1 4") Debug.Log(i); }To install these to your Unity project, simply clone this repository and plop the extension you like (any .cs file) into your project. That's it!
This project uses a MIT License. Basically, you can use this in your game without permission, and you can modify as much as you want.
If you find an issue, or want to request a feature, create an issue in the issues tab.