kingslayer 0.5.5

A text adventure dungeon crawler game written in Rust
Documentation
use serde::{Deserialize, Serialize};

use crate::types::CmdResult;

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub enum DoorLock {
    Locked(String),
    Unlocked,
}

impl DoorLock {
    pub fn is_locked(&self) -> bool {
        match self {
            DoorLock::Locked(_) => true,
            DoorLock::Unlocked => false,
        }
    }
}

pub trait Lockable {
    fn unlock(&mut self) -> CmdResult;

    fn lock(&mut self) -> CmdResult;

    fn is_locked(&self) -> bool;
}