comparison import/myrrdin/tileconsumer.d @ 5:f4b89014ad39

added moving figure stuff + animated sprites. not usable atm.
author fred@reichbier.de
date Sat, 19 Jul 2008 14:33:08 +0200
parents src/tileconsumer.d@292df259cc85
children 510541745cd1
comparison
equal deleted inserted replaced
4:292df259cc85 5:f4b89014ad39
1 /*
2 This file is part of myrrdin.
3
4 myrrdin is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as
6 published by the Free Software Foundation, either version 3 of
7 the License, or (at your option) any later version.
8
9 myrrdin is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with myrrdin. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18 module tileconsumer;
19
20 import dsfml.window.all;
21 import dsfml.system.all;
22 import dsfml.graphics.all;
23 import tango.io.Stdout;
24
25 import consumer;
26 import renderer;
27 import tileset;
28 import tilemap;
29
30 class TileConsumer : Consumer {
31 public Tilemap map;
32
33 this(Renderer renderer, Tilemap map) {
34 super(renderer);
35 this.map = map;
36 }
37
38 void draw() {
39 foreach(Sprite sprite; this.map.get_sprites()) {
40 this.renderer.draw(sprite);
41 }
42 }
43
44 bool handle_event(Event evt) {
45 if (evt.Type == Event.EventType.MOUSEBUTTONPRESSED) {
46 Input input = this.renderer.app.getInput();
47 Vector2i tile = this.map.real_to_tile(0, input.getMouseX(), input.getMouseY());
48 if(this.map.has_tile(0, tile.x, tile.y)) {
49 Stdout.formatln("You clicked on the tile {}, {}", tile.x, tile.y);
50 }
51 return true;
52 }
53 return false;
54 }
55 }