diff options
author | Melody Horn <melody@boringcactus.com> | 2021-03-07 09:12:47 -0700 |
---|---|---|
committer | Melody Horn <melody@boringcactus.com> | 2021-03-07 09:12:47 -0700 |
commit | 36d5ff553a1d65d70da5251b8865d62294c929f6 (patch) | |
tree | 065618d7f6c0a407b844842c310919010384beca /src/system.rs | |
parent | 28a8fb462fa88da300c6cf016ed3c70c402b8dba (diff) | |
download | hope-36d5ff553a1d65d70da5251b8865d62294c929f6.tar.gz hope-36d5ff553a1d65d70da5251b8865d62294c929f6.zip |
tear it all up and implement super basic actors
Diffstat (limited to 'src/system.rs')
-rw-r--r-- | src/system.rs | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/system.rs b/src/system.rs deleted file mode 100644 index 7df8af8..0000000 --- a/src/system.rs +++ /dev/null @@ -1,31 +0,0 @@ -use crate::actor::{Actorful, Slot, Type}; -use crate::number::Number; - -pub struct System { - pub screen_buffer: Vec<u32>, -} - -impl Actorful for System { - fn inputs() -> Vec<Slot> { - let nonnegative_int = Type::NumberInRange { - min: Some(Number::from(0)), - max: None, - }; - let screen_position_type = Type::Record { - name: "Screen Position".to_string(), - fields: vec![ - Slot { name: "X".to_string(), r#type: nonnegative_int.clone() }, - Slot { name: "Y".to_string(), r#type: nonnegative_int }, - ], - }; - vec![Slot { name: "mouse_position".to_string(), r#type: screen_position_type }] - } - - fn outputs() -> Vec<Slot> { - let u24 = Type::NumberInRange { - min: Some(Number::from(0)), - max: Some(Number::from(1 << 24 - 1)), - }; - vec![Slot { name: "screen_buffer".to_string(), r#type: Type::List { contents: Box::new(u24) }}] - } -} |