Skip to content
Dark-A-l edited this page Sep 23, 2019 · 6 revisions

[Serializable] struct ArrayEntity

Namespace: Pixeye.Framework.ArrayEntity

Версия фреймворка: 2019.09.21
Последнее обновление файла: [2019.09.23]
Последнее обновление статьи: [2019.09.23]

Описание

ArrayEntity - структура, предназначенная для использования массива ent с возможностью его расширения при добавлении новых элементов (как у List). Но массив не уменьшается при удалении элементов (метод Remove). Для определения длины доступного массива используется переменная length.

К элементам массива можно обращаться через ArrayEntity[index]!

Конструкторы

Конструктор Описание
ArrayEntity(int size) size - изначальный размер массива

Поля

Тип Наименование Описание
int length Длина доступного массива
ent[] source Массив сущностей. Внимание! Используете length вместо source.length!

Методы

Тип Метод Описание
ref ent this[int index] Возвращает элемент с индексом index
void Add(in ent entity) Добавляет в конец массива entity. При необходимости, массив расширится на 1 элемент
bool TryAdd(in ent entity) Если в массиве отсутствует entity, то добавит ее в массив и вернет true.
void Remove(in ent entity) Удаляет entity из массива если этот entity существует в массиве
bool Removed(in ent entity) Делает тоже самое, что и Remove, но еще вернет результат: true - если элемент удален, false - если entity отсутствовал в массиве
bool Has(in ent entity) Возвращает true, если данный entity существует в массиве.

Примеры

public void Example(ArrayEntity array)
{
  for (int i = 0; i < array.length; i++)
  {
     ref var entity = array[i];
     ...
  }
}