naia_server/world/
entity_owner.rs

1use crate::UserKey;
2
3#[derive(Copy, Clone, PartialEq, Eq, Debug)]
4pub enum EntityOwner {
5    Server,
6    Client(UserKey),
7    ClientWaiting(UserKey),
8    ClientPublic(UserKey),
9    Local,
10}
11
12impl EntityOwner {
13    pub fn is_server(&self) -> bool {
14        match self {
15            EntityOwner::Server => true,
16            _ => false,
17        }
18    }
19
20    pub fn is_client(&self) -> bool {
21        match self {
22            EntityOwner::Client(_)
23            | EntityOwner::ClientPublic(_)
24            | EntityOwner::ClientWaiting(_) => true,
25            _ => false,
26        }
27    }
28
29    pub fn is_public(&self) -> bool {
30        match self {
31            EntityOwner::ClientPublic(_) | EntityOwner::Server => true,
32            _ => false,
33        }
34    }
35}