Added count(Enum)

This commit is contained in:
PEMapModder 2014-07-21 19:25:20 +08:00
parent 1b36b10520
commit adcdf650a3

View File

@ -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);
}
}
}
}