Skip to main content

gled_model/asset/project/
scene_instance_path.rs

1use crate::asset::scene::grid::GridLocation;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5pub struct QuickSceneInstanceIndex {
6    pub index: usize,
7}
8
9#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
10pub enum SceneInstanceUnion {
11    Selected,
12    Grid(GridLocation),
13    Quick(QuickSceneInstanceIndex),
14}
15
16pub fn selected_scene_instance_index() -> SceneInstanceUnion {
17    SceneInstanceUnion::Selected
18}
19
20pub fn quick_scene_instance_index(index: usize) -> SceneInstanceUnion {
21    SceneInstanceUnion::Quick(QuickSceneInstanceIndex { index })
22}
23pub fn grid_scene_instance_index(location: GridLocation) -> SceneInstanceUnion {
24    SceneInstanceUnion::Grid(location)
25}