main.rs 841B

12345678910111213141516171819202122232425262728293031323334353637
  1. use std::env;
  2. use std::path;
  3. use ggez::{event, GameResult};
  4. use glam::Vec2;
  5. use scene::main::MainState;
  6. mod behavior;
  7. mod config;
  8. mod physics;
  9. mod scene;
  10. mod ui;
  11. type WindowPoint = Vec2;
  12. type Offset = Vec2;
  13. type ScenePoint = Vec2;
  14. type Vector2 = Vec2;
  15. pub fn main() -> GameResult {
  16. let resource_dir = if let Ok(manifest_dir) = env::var("CARGO_MANIFEST_DIR") {
  17. let mut path = path::PathBuf::from(manifest_dir);
  18. path.push("resources");
  19. path
  20. } else {
  21. path::PathBuf::from("./resources")
  22. };
  23. let cb = ggez::ContextBuilder::new("oc", "bux")
  24. .add_resource_path(resource_dir)
  25. .window_mode(ggez::conf::WindowMode::default().dimensions(800.0, 600.0));
  26. let (mut ctx, event_loop) = cb.build()?;
  27. let state = MainState::new(&mut ctx)?;
  28. event::run(ctx, event_loop, state)
  29. }