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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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