blob: 60186b314ec23232da7676d4ef2adbe33ab5fbc2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
pub mod components;
pub mod systems;
pub mod texture_manager;
use components::{Pos, StaticDrawable};
use specs::prelude::*;
use specs::{DispatcherBuilder, World};
use systems::{SysDraw, SysInput};
fn main()
{
let sdl = sdl2::init().expect("Unable to start SDL context");
let video_subsys = sdl.video().expect("Unable to get SDL Video context");
let window = video_subsys
.window("Pokemon Mystery Dungeon coop clone", 800, 600)
.position_centered()
.opengl()
.resizable()
.build()
.expect("Unable to create window");
let mut world = World::new();
world.register::<Pos>();
world.register::<StaticDrawable>();
world
.create_entity()
.with(Pos { x: 0., y: 0. })
.with(StaticDrawable {
texture_name: "portraits.png".to_string(),
})
.build();
let sys_input = SysInput::new(&sdl);
let sys_draw = SysDraw::new(window);
let mut dispatcher = DispatcherBuilder::new()
.with_thread_local(sys_input)
.with_thread_local(sys_draw)
.build();
loop {
dispatcher.dispatch(&mut world);
}
}
|