Added methods to add/remove Entities/Tiles from Levels

This commit is contained in:
Shoghi Cervantes
2014-05-24 13:49:58 +02:00
parent f9353a0ecd
commit d8ea2e744f
3 changed files with 34 additions and 24 deletions

View File

@@ -73,7 +73,7 @@ class Level{
public $chunkEntities = [];
/** @var Tile[] */
public $tiles = [];
protected $tiles = [];
/** @var Tile[][] */
public $chunkTiles = [];
@@ -816,6 +816,22 @@ class Level{
return $this->entities;
}
public function addEntity(Entity $entity){
$this->entities[$entity->getID()] = $entity;
}
public function removeEntity(Entity $entity){
unset($this->entities[$entity->getID()]);
}
public function addTile(Tile $tile){
$this->tiles[$tile->getID()] = $tile;
}
public function removeTile(Tile $tile){
unset($this->tiles[$tile->getID()]);
}
/**
* Returns a list of the Tile entities in this level
*
@@ -825,6 +841,15 @@ class Level{
return $this->tiles;
}
/**
* @param $tileId
*
* @return Tile
*/
public function getTileById($tileId){
return isset($this->tiles[$tileId]) ? $this->tiles[$tileId] : null;
}
/**
* Returns a list of the players in this level
*