2022-02-01 11:59:44 -05:00
|
|
|
use std::collections::HashMap;
|
|
|
|
|
2022-01-21 15:14:29 -05:00
|
|
|
use ::serde::{Deserialize, Serialize};
|
|
|
|
use ::specs::prelude::*;
|
|
|
|
use ::specs_derive::*;
|
|
|
|
|
2022-01-21 16:16:48 -05:00
|
|
|
use crate::map::{Map, MasterDungeonMap};
|
|
|
|
|
2022-01-21 15:14:29 -05:00
|
|
|
// Serialization helper code. We need to implement ConvertSaveLoad for each type that contains an
|
|
|
|
// Entity.
|
|
|
|
|
|
|
|
pub struct SerializeMe;
|
|
|
|
|
|
|
|
// Special component that exists to help serialize the game data
|
|
|
|
#[derive(Component, Serialize, Deserialize, Clone)]
|
|
|
|
pub struct SerializationHelper {
|
|
|
|
pub map: Map,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Component, Serialize, Deserialize, Clone)]
|
|
|
|
pub struct DMSerializationHelper {
|
|
|
|
pub map: MasterDungeonMap,
|
2022-02-01 11:20:41 -05:00
|
|
|
pub log: Vec<Vec<crate::gamelog::LogFragment>>,
|
2022-02-01 11:59:44 -05:00
|
|
|
pub events: HashMap<String, i32>,
|
2022-01-21 15:14:29 -05:00
|
|
|
}
|