gameServer2/src/server/client.rs
author alfadur
Wed, 27 Jun 2018 02:34:46 +0300
changeset 13423 87a6cad20c90
parent 13419 81e0ed105f5d
child 13477 f748a72432f2
permissions -rw-r--r--
Implement game start & engine messages
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,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
     8
    pub is_master: bool,
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
     9
    pub is_ready: bool,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    10
    pub is_in_game: bool,
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    11
    pub teams_in_game: u8,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    12
    pub team_indices: Vec<u8>,
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    13
    pub clan: Option<u8>,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    14
    pub is_joined_mid_game: bool,
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    15
}
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    16
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    17
impl HWClient {
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
    18
    pub fn new(id: ClientId) -> HWClient {
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    19
        HWClient {
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
    20
            id,
12146
8d8fb85bc09c SendAllButMe action, list all clients in lobby in LobbyJoined message to newcomers
unc0rr
parents: 12144
diff changeset
    21
            room_id: None,
12141
78925eff02c2 Basic support for NICK message
unc0rr
parents: 12139
diff changeset
    22
            nick: String::new(),
12146
8d8fb85bc09c SendAllButMe action, list all clients in lobby in LobbyJoined message to newcomers
unc0rr
parents: 12144
diff changeset
    23
            protocol_number: 0,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    24
            is_master: false,
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    25
            is_ready: false,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    26
            is_in_game: false,
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    27
            teams_in_game: 0,
13423
87a6cad20c90 Implement game start & engine messages
alfadur
parents: 13419
diff changeset
    28
            team_indices: Vec::new(),
13419
81e0ed105f5d implementation of team related messages
alfadur
parents: 13119
diff changeset
    29
            clan: None,
12147
03ccb89820f3 Room creation halfplemented
unc0rr
parents: 12146
diff changeset
    30
            is_joined_mid_game: false,
12128
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    31
        }
f50876f3eff8 Refactor modules layout
unc0rr
parents:
diff changeset
    32
    }
13119
1e39b8749072 separated the server logic from all the async io mess.
alfadur
parents: 12853
diff changeset
    33
}