use std::path::PathBuf;
use ggez::{ContextBuilder, GameResult};
use ggez::conf::{WindowMode, WindowSetup};
use ggez::event::{self};
use pvz_rust_wsll_lib::core;
pub const DESIGN_WIDTH: f32 = 1400.0;
pub const DESIGN_HEIGHT: f32 = 600.0;
fn main() -> GameResult {
let resource_dir = if let Ok(manifest_dir) = std::env::var("CARGO_MANIFEST_DIR") {
let mut path = PathBuf::from(manifest_dir);
path.push("Resource");
path
} else {
PathBuf::from("./Resource")
};
let (mut ctx, event_loop) = ContextBuilder::new("pvz_rust_wsll_game", "wsll")
.add_resource_path(resource_dir)
.window_setup(WindowSetup::default().title("植物大战僵尸 - Rust版"))
.window_mode(WindowMode::default()
.dimensions(DESIGN_WIDTH, DESIGN_HEIGHT)
)
.build()?;
let game_state = core::game::GameState::new(&mut ctx)?;
event::run(ctx, event_loop, game_state)
}