3 namespace Domain\Entities\StepMania
;
5 use Domain\VOs\StepMania\IArtist
;
6 use Domain\VOs\StepMania\IBPM
;
7 use Domain\Entities\StepMania\ISimfileBuilder
;
8 use Domain\Entities\IUser
;
9 use Domain\Entities\IFile
;
11 interface ISimfileStepByStepBuilder
13 public function With_Title($title);
16 interface ISimfileStepByStepBuilder_With_Title
18 public function With_Artist(IArtist
$artist);
21 interface ISimfileStepByStepBuilder_With_Artist
23 public function With_Uploader(IUser
$uploader);
26 interface ISimfileStepByStepBuilder_With_Uploader
28 public function With_BPM(IBPM
$bpm);
31 interface ISimfileStepByStepBuilder_With_BPM
33 public function With_BpmChanges($const);
36 interface ISimfileStepByStepBuilder_With_BpmChanges
38 public function With_Stops($const);
41 interface ISimfileStepByStepBuilder_With_Stops
43 public function With_FgChanges($const);
46 interface ISimfileStepByStepBuilder_With_FgChanges
48 public function With_BgChanges($const);
51 interface ISimfileStepByStepBuilder_With_BgChanges
53 public function With_Steps(array $steps);
56 interface ISimfileStepByStepBuilder_With_Steps
58 public function With_Banner(IFile
$banner);
59 public function With_Simfile(IFile
$simfile);
60 public function build();
64 abstract class AbstractSimfileStepByStepBuilder
66 /* @var $_simfileBuilder Domain\Entities\StepMania\ISimfileBuilder */
67 protected $_simfileBuilder;
69 public function __construct(ISimfileBuilder
$builder)
71 $this->_simfileBuilder
= $builder;
76 class SimfileStepByStepBuilder
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder
78 public function With_Title($title)
80 $this->_simfileBuilder
->With_Title($title);
81 return new SimfileStepByStepBuilder_With_Title($this->_simfileBuilder
);
85 class SimfileStepByStepBuilder_With_Title
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_Title
87 public function With_Artist(IArtist
$artist)
89 $this->_simfileBuilder
->With_Artist($artist);
90 return new SimfileStepByStepBuilder_With_Artist($this->_simfileBuilder
);
94 class SimfileStepByStepBuilder_With_Artist
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_Artist
96 public function With_Uploader(IUser
$uploader)
98 $this->_simfileBuilder
->With_Uploader($uploader);
99 return new SimfileStepByStepBuilder_With_Uploader($this->_simfileBuilder
);
103 class SimfileStepByStepBuilder_With_Uploader
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_Uploader
105 public function With_BPM(IBPM
$bpm)
107 $this->_simfileBuilder
->With_BPM($bpm);
108 return new SimfileStepByStepBuilder_With_BPM($this->_simfileBuilder
);
112 class SimfileStepByStepBuilder_With_BPM
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_BPM
114 public function With_BpmChanges($const)
116 $this->_simfileBuilder
->With_BpmChanges($const);
117 return new SimfileStepByStepBuilder_With_BpmChanges($this->_simfileBuilder
);
121 class SimfileStepByStepBuilder_With_BpmChanges
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_BpmChanges
123 public function With_Stops($const) {
124 $this->_simfileBuilder
->With_Stops($const);
125 return new SimfileStepByStepBuilder_With_Stops($this->_simfileBuilder
);
129 class SimfileStepByStepBuilder_With_Stops
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_Stops
131 public function With_FgChanges($const)
133 $this->_simfileBuilder
->With_FgChanges($const);
134 return new SimfileStepByStepBuilder_With_FgChanges($this->_simfileBuilder
);
138 class SimfileStepByStepBuilder_With_FgChanges
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_FgChanges
140 public function With_BgChanges($const)
142 $this->_simfileBuilder
->With_BgChanges($const);
143 return new SimfileStepByStepBuilder_With_BgChanges($this->_simfileBuilder
);
147 class SimfileStepByStepBuilder_With_BgChanges
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_BgChanges
149 public function With_Steps(array $steps)
151 $this->_simfileBuilder
->With_Steps($steps);
152 return new SimfileStepByStepBuilder_With_Steps($this->_simfileBuilder
);
156 class SimfileStepByStepBuilder_With_Steps
extends AbstractSimfileStepByStepBuilder
implements ISimfileStepByStepBuilder_With_Steps
158 public function With_Banner(IFile
$banner)
160 $this->_simfileBuilder
->With_Banner($banner);
161 return new SimfileStepByStepBuilder_With_Steps($this->_simfileBuilder
);
164 public function With_Simfile(IFile
$simfile)
166 $this->_simfileBuilder
->With_Simfile($simfile);
167 return new SimfileStepByStepBuilder_With_Steps($this->_simfileBuilder
);
170 public function build()
172 return $this->_simfileBuilder