mc-cms-namelessmc/core/classes/Collections/Collection.php
Sam 6f15e14392
chore: fix styleci (#3588)
Co-authored-by: Sam <samerton@users.noreply.github.com>
2025-03-29 10:50:03 +00:00

58 lines
1.1 KiB
PHP

<?php
/**
* Base Collection class.
*
* @package NamelessMC\Collections
* @author Samerton
* @version 2.0.0-pr13
* @license MIT
*/
class Collection
{
/** @var CollectionItemBase[] */
private array $_items;
public function __construct()
{
$this->_items = [];
}
public function addItem(CollectionItemBase $item): void
{
$this->_items[] = $item;
}
/**
* @return CollectionItemBase[]
*/
public function getEnabledItems(): array
{
$items = [];
foreach ($this->_items as $item) {
if ($item->isEnabled()) {
$items[] = $item;
}
}
uasort($items, static function (CollectionItemBase $a, CollectionItemBase $b) {
return $a->getOrder() - $b->getOrder();
});
return $items;
}
/**
* @return CollectionItemBase[]
*/
public function getAllItems(): array
{
$items = $this->_items;
uasort($items, static function (CollectionItemBase $a, CollectionItemBase $b) {
return $a->getOrder() - $b->getOrder();
});
return $items;
}
}