C# Extension methods w Unity

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());
    }
Scroll to Top