Files
2026-02-21 16:45:37 +08:00

44 lines
890 B
C#

using UnityEngine;
public static class ArrayHelper
{
public static T AddArrayElement<T>(ref T[] array) where T : new()
{
return AddArrayElement(ref array, new T());
}
public static T AddArrayElement<T>(ref T[] array, T elToAdd)
{
if (array == null)
{
array = new T[1];
array[0] = elToAdd;
return elToAdd;
}
T[] array2 = new T[array.Length + 1];
array.CopyTo(array2, 0);
array2[array.Length] = elToAdd;
array = array2;
return elToAdd;
}
public static void DeleteArrayElement<T>(ref T[] array, int index)
{
if (index >= array.Length || index < 0)
{
Debug.LogWarning("invalid index in DeleteArrayElement: " + index);
return;
}
T[] array2 = new T[array.Length - 1];
for (int i = 0; i < index; i++)
{
array2[i] = array[i];
}
for (int i = index + 1; i < array.Length; i++)
{
array2[i - 1] = array[i];
}
array = array2;
}
}