gameServer2/src/server/client.rs
author alfadur
Fri, 06 Jul 2018 21:03:03 +0300
changeset 13477 f748a72432f2
parent 13423 87a6cad20c90
child 13478 d79795acaa73
permissions -rw-r--r--
Implement greetings & fixed rooms
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
     1
pub type ClientId = usize;
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
     2
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
     3
pub struct HWClient {
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
     4
    pub id: ClientId,
12852
bd35cb2302b3 Quick dirty fix for building
unc0rr
parents: 12147
diff changeset
     5
    pub room_id: Option<usize>,
12141
78925eff02c2 Basic support for NICK message
unc0rr
parents: 12139
diff changeset
     6
    pub nick: String,
12146
8d8fb85bc09c SendAllButMe action, list all clients in lobby in LobbyJoined message to newcomers
unc0rr
parents: 12144
diff changeset
     7
    pub protocol_number: u32,
13477
f748a72432f2 Implement greetings & fixed rooms
alfadur
parents: 13423
diff changeset
     8
    pub is_admin: bool,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
     9
    pub is_master: bool,
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    10
    pub is_ready: bool,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    11
    pub is_in_game: bool,
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    12
    pub teams_in_game: u8,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    13
    pub team_indices: Vec<u8>,
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    14
    pub clan: Option<u8>,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    15
    pub is_joined_mid_game: bool,
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    16
}
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    17
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    18
impl HWClient {
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
    19
    pub fn new(id: ClientId) -> HWClient {
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    20
        HWClient {
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
    21
            id,
12146
8d8fb85bc09c SendAllButMe action, list all clients in lobby in LobbyJoined message to newcomers
unc0rr
parents: 12144
diff changeset
    22
            room_id: None,
12141
78925eff02c2 Basic support for NICK message
unc0rr
parents: 12139
diff changeset
    23
            nick: String::new(),
12146
8d8fb85bc09c SendAllButMe action, list all clients in lobby in LobbyJoined message to newcomers
unc0rr
parents: 12144
diff changeset
    24
            protocol_number: 0,
13477
f748a72432f2 Implement greetings & fixed rooms
alfadur
parents: 13423
diff changeset
    25
            is_admin: false,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    26
            is_master: false,
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    27
            is_ready: false,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    28
            is_in_game: false,
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    29
            teams_in_game: 0,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    30
            team_indices: Vec::new(),
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    31
            clan: None,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    32
            is_joined_mid_game: false,
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    33
        }
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    34
    }
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
    35
}