Mercurial > projects > myrrdin
annotate src/spriteconsumer.d @ 4:292df259cc85
view + sprite consumers, animated sprite working
author | fred@reichbier.de |
---|---|
date | Fri, 18 Jul 2008 16:12:41 +0200 |
parents | |
children |
rev | line source |
---|---|
4
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
1 module spriteconsumer; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
2 |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
3 import dsfml.window.all; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
4 import dsfml.system.all; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
5 import dsfml.graphics.all; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
6 |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
7 import animatedsprite; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
8 import consumer; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
9 import renderer; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
10 |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
11 class SpriteConsumer : Consumer { |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
12 private Sprite[] sprites; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
13 |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
14 this(Renderer renderer) { |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
15 super(renderer); |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
16 } |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
17 |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
18 void add_sprite(Sprite sprite) { |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
19 this.sprites ~= sprite; |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
20 } |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
21 |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
22 void draw() { |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
23 foreach(Sprite sprite; this.sprites) { |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
24 this.renderer.draw(sprite); |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
25 } |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
26 } |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
27 } |
292df259cc85
view + sprite consumers, animated sprite working
fred@reichbier.de
parents:
diff
changeset
|
28 |