Metody rozszerzeń pozwalają przyspieszyć tworzenie programów w przypadku, gdy korzystamy często z dedykowanych rozwiązań.
Najlepiej jest stworzyć osobny skrypt w którym możemy przechowywać nasze metody.
Klasa i metody będą statyczne.
using UnityEngine;
public static class MyExtensions
{
public static T RandomItem<T> (this T[] array)
{
return array[Random.Range(0, array.Length)];
}
public static string GetAllItemsString (this string[] array)
{
string all = "";
foreach (var item in array)
{
all += item + ", ";
}
return all;
}
}
Wywołanie metod na konkretnych obiektach:
string[] names = { "Susan", "Mark", "John", "Paul", "Alice" };
int[] nums = { 12, 3, 4, 9, 2 };
private void Start()
{
Debug.Log(names.RandomItem());
Debug.Log(nums.RandomItem());
Debug.Log(names.GetAllItemsString());
}