From adcdf650a37cda0d7bb8b684ce1bd0489881b95f Mon Sep 17 00:00:00 2001 From: PEMapModder Date: Mon, 21 Jul 2014 19:25:20 +0800 Subject: [PATCH] Added count(Enum) --- src/pocketmine/nbt/tag/Enum.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/nbt/tag/Enum.php b/src/pocketmine/nbt/tag/Enum.php index b9b3a7881..e4de48867 100644 --- a/src/pocketmine/nbt/tag/Enum.php +++ b/src/pocketmine/nbt/tag/Enum.php @@ -24,7 +24,7 @@ namespace pocketmine\nbt\tag; use pocketmine\nbt\NBT; use pocketmine\nbt\tag\Enum as TagEnum; -class Enum extends NamedTag implements \ArrayAccess{ +class Enum extends NamedTag implements \ArrayAccess, \Countable{ private $tagType; @@ -73,6 +73,19 @@ class Enum extends NamedTag implements \ArrayAccess{ unset($this->{$offset}); } + public function count($mode = COUNT_NORMAL){ + for($i = 0; true; $i++){ + if(!isset($this->{$i})){ + return $i; + } + if($mode === COUNT_RECURSIVE){ + if($this->{$i} instanceof \Countable){ + $i += count($this->{$i}); + } + } + } + } + public function getType(){ return NBT::TAG_Enum; } @@ -178,4 +191,4 @@ class Enum extends NamedTag implements \ArrayAccess{ $tag->write($nbt); } } -} \ No newline at end of file +}