Skip to main content

cardinal_kernel/state/
zones.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct Zone {
5    pub id: String,
6    pub name: String,
7    pub owner_scope: ZoneOwnerScope,
8    pub visibility: ZoneVisibility,
9    pub ordered: bool,
10    pub allow_duplicates: bool,
11    pub default_capacity: Option<usize>,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub enum ZoneOwnerScope {
16    Player,
17    Shared,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
21pub enum ZoneVisibility {
22    Public,
23    Private,
24    TopCardPublic,
25}