From 4dde4f159610ee44ce2a987b243f2eb914e1220d Mon Sep 17 00:00:00 2001 From: OBJNULL Date: Sun, 23 Jun 2024 13:54:12 -0400 Subject: [PATCH] QoL code and made manager mutable --- src/interface.rs | 27 ++++++++++++--------------- src/main.rs | 8 ++++++-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/interface.rs b/src/interface.rs index 0ad3fde..6cf6948 100644 --- a/src/interface.rs +++ b/src/interface.rs @@ -3,17 +3,17 @@ use crate::{board, manager}; use std::{io, process::exit}; // Structures -pub struct Interface { - manager: manager::Manager, - - running: bool, +pub struct Interface<'a> { + manager: &'a mut manager::Manager, + + pub running: bool, page: u32, on: u32 } // Implementations -impl Interface { - pub fn init(manager: manager::Manager) -> Interface{ +impl<'a> Interface<'a> { + pub fn init(manager: &'a mut manager::Manager) -> Interface<'a>{ // Return result return Interface {manager: manager, running: true, page: 0, on: 0}; } @@ -98,15 +98,12 @@ impl Interface { } pub fn run(&mut self) { - while self.running { - - match self.page { - 0 => self.p_0(), - 1 => self.p_1(), - 2 => self.p_2(), - _ => Interface::error("Invalid Page") - } - + // Based on the page do something + match self.page { + 0 => self.p_0(), + 1 => self.p_1(), + 2 => self.p_2(), + _ => Interface::error("Invalid Page") } } } \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 7196c6a..0a3efaa 100755 --- a/src/main.rs +++ b/src/main.rs @@ -14,6 +14,10 @@ fn main() { managed.parse(String::from("data/user.json")); // Passing this through to the interface - let mut int: interface::Interface = interface::Interface::init(managed); - int.run(); + let mut int: interface::Interface = interface::Interface::init(&mut managed); + + // Running the interface + while int.running { + int.run(); + } } \ No newline at end of file