3 namespace Domain\Entities\StepMania
;
5 use Domain\Entities\IUser
;
6 use Domain\Entities\IFile
;
7 use Domain\Entities\StepMania\IPackFactory
;
8 use Domain\Entities\StepMania\IPackBuilder
;
10 class PackBuilder
implements IPackBuilder
13 private $_packFactory;
21 public function __construct(IPackFactory
$packFactory)
23 $this->_packFactory
= $packFactory;
26 public function With_Title($title)
28 $this->_title
= $title;
32 public function With_Banner(IFile
$banner = null
)
34 $this->_banner
= $banner;
37 public function With_File(IFile
$file)
43 public function With_Simfiles(array $simfiles)
45 $this->_simfiles
= $simfiles;
49 public function With_Uploader(IUser
$uploader)
51 $this->_uploader
= $uploader;
55 public function build()
57 return $this->_packFactory
->createInstance($this->_title
,