rust/lib-hedgewars-engine/src/instance.rs
changeset 15891 d52f5d8e75e6
parent 15809 c3971b38bbfa
child 15924 9502611bffc1
child 16011 52b51d92e88d
equal deleted inserted replaced
15890:8a6a2d931bae 15891:d52f5d8e75e6
     4 };
     4 };
     5 use hedgewars_engine_messages::queue::*;
     5 use hedgewars_engine_messages::queue::*;
     6 
     6 
     7 use integral_geometry::{Point, Rect, Size};
     7 use integral_geometry::{Point, Rect, Size};
     8 use landgen::outline_template::OutlineTemplate;
     8 use landgen::outline_template::OutlineTemplate;
       
     9 
       
    10 use std::path::Path;
     9 
    11 
    10 use super::{ipc::*, world::World};
    12 use super::{ipc::*, world::World};
    11 
    13 
    12 pub struct EngineInstance {
    14 pub struct EngineInstance {
    13     pub world: World,
    15     pub world: World,
    14     pub ipc_channel: Channel,
    16     pub ipc_channel: Channel,
    15     ipc_queue: MessagesQueue,
    17     ipc_queue: MessagesQueue,
    16 }
    18 }
    17 
    19 
    18 impl EngineInstance {
    20 impl EngineInstance {
    19     pub fn new() -> Self {
    21     pub fn new(data_path: &Path) -> Self {
    20         let mut world = World::new();
    22         let mut world = World::new(data_path);
    21 
    23 
    22         fn template() -> OutlineTemplate {
    24         fn template() -> OutlineTemplate {
    23             let mut template = OutlineTemplate::new(Size::new(4096 * 1, 2048 * 1));
    25             let mut template = OutlineTemplate::new(Size::new(4096 * 1, 2048 * 1));
    24             template.islands = vec![vec![
    26             template.islands = vec![vec![
    25                 Rect::from_size_coords(100, 2050, 1, 1),
    27                 Rect::from_size_coords(100, 2050, 1, 1),