trecs/tools/resources.rs
1use crate::world::Res;
2#[allow(unused_imports)]
3use crate::world::World;
4
5pub trait ResManager {
6 /// 获取类型对应资源的一个[ResOwner]
7 ///
8 /// 重复获取会报错
9 ///
10 /// 如果原来不存在资源,会为资源创建一个位置
11 fn get_res<T: 'static>(&mut self) -> Res<'_, T>;
12
13 /// 获取类型对应资源的一个[ResOwner]
14 ///
15 /// 如果原来不存在资源,不会为资源创建一个位置,并返回[none]
16 fn try_get_res<T: 'static>(&mut self) -> Option<Res<'_, T>>;
17
18 /// 为类型创建一个位置,准备储存资源
19 ///
20 /// 如果原来的资源存在,什么都不做
21 fn new_res<T: 'static>(&mut self);
22}