diff options
author | Nao Pross <naopross@thearcway.org> | 2018-12-17 03:04:40 +0100 |
---|---|---|
committer | Nao Pross <naopross@thearcway.org> | 2018-12-17 03:04:40 +0100 |
commit | bd48081e33fe84e7ad8a38966334732c4559720c (patch) | |
tree | df7df83021e2aa3dfd354735cf322a42a69eb531 /src/game.rs | |
parent | Add game state object shared across threads (diff) | |
download | Subconscious-rs-bd48081e33fe84e7ad8a38966334732c4559720c.tar.gz Subconscious-rs-bd48081e33fe84e7ad8a38966334732c4559720c.zip |
Add loading of embedded resources
Diffstat (limited to 'src/game.rs')
-rw-r--r-- | src/game.rs | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/game.rs b/src/game.rs index ab04b21..335e9da 100644 --- a/src/game.rs +++ b/src/game.rs @@ -1,15 +1,36 @@ +use std::error::Error; + +use tiled::Map; + +// embedded resources +#[derive(RustEmbed)] +#[folder = "res/maps"] +pub struct MapAssets; + +// game state pub struct State { - pub running: bool + pub running: bool, + pub map: Map, } +pub fn new() -> State { + // load demo map + let demo_map_asset = match MapAssets::get("demo.tmx") { + Some(asset) => asset, + None => panic!("Failed to load demo map asset"), + }; + let demo_map = match tiled::parse(demo_map_asset.as_ref()) { + Ok(map) => map, + Err(e) => panic!("Failed to parse demo map: {}", e.description()), + }; -pub fn new() -> State { return State { running: true, + map: demo_map }; } -pub fn update(state: &mut State) { +pub fn update(_state: &mut State) { }
\ No newline at end of file |