oxygengine_input/
component.rs1use crate::resources::stack::*;
2use core::prefab::{Prefab, PrefabComponent};
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub enum InputStackInstance {
7 Setup(InputStackListener),
8 #[serde(skip)]
9 Listener(InputStackListenerId),
10}
11
12impl Default for InputStackInstance {
13 fn default() -> Self {
14 Self::Setup(Default::default())
15 }
16}
17
18impl InputStackInstance {
19 pub fn as_listener(&self) -> Option<InputStackListenerId> {
20 match self {
21 Self::Listener(id) => Some(*id),
22 _ => None,
23 }
24 }
25}
26
27impl Prefab for InputStackInstance {}
28impl PrefabComponent for InputStackInstance {}