thot_core/project/
container.rs1use super::asset::Asset;
3use super::script_association::RunParameters;
4use super::standard_properties::StandardProperties;
5use crate::types::{ResourceId, ResourceMap};
6use std::collections::HashMap;
7
8#[cfg(feature = "serde")]
9use serde::{Deserialize, Serialize};
10
11pub type ContainerMap = ResourceMap<Container>;
16pub type AssetMap = ResourceMap<Asset>;
17pub type ScriptMap = HashMap<ResourceId, RunParameters>;
18
19#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
24#[derive(Debug)]
25pub struct Container {
26 pub properties: StandardProperties,
27 pub children: ContainerMap,
28 pub assets: AssetMap,
29 pub scripts: ScriptMap,
30}
31
32impl Container {
33 pub fn new() -> Self {
34 Container {
35 properties: StandardProperties::new(),
36 children: ContainerMap::new(),
37 assets: AssetMap::new(),
38 scripts: ScriptMap::new(),
39 }
40 }
41}
42
43#[cfg(test)]
44#[path = "./container_test.rs"]
45mod container_test;