gameServer2/src/server/handlers/loggingin.rs
author Wuzzy <Wuzzy2@mail.ru>
Sat, 10 Feb 2018 15:16:20 +0100
changeset 12964 695cc142827b
parent 12857 bd35cb2302b3
child 13124 1e39b8749072
permissions -rw-r--r--
Construction Mode: Show Message and minor smoke effect when losing ammo due to weapon filter
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12152
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     1
use mio;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     2
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     3
use server::server::HWServer;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     4
use server::actions::Action;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     5
use server::actions::Action::*;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     6
use protocol::messages::HWProtocolMessage;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     7
use protocol::messages::HWServerMessage::*;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
     8
12857
bd35cb2302b3 Quick dirty fix for building
unc0rr
parents: 12152
diff changeset
     9
pub fn handle(server: &mut HWServer, token: usize, poll: &mio::Poll, message: HWProtocolMessage) {
12152
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    10
    match message {
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    11
        HWProtocolMessage::Nick(nick) =>
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    12
            if server.clients[token].room_id == None {
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    13
                server.react(token, poll, vec![SendMe(Nick(&nick).to_raw_protocol())]);
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    14
                server.clients[token].nick = nick;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    15
                server.react(token, poll, vec![CheckRegistered]);
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    16
            },
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    17
        HWProtocolMessage::Proto(proto) => {
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    18
            server.clients[token].protocol_number = proto;
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    19
            server.react(token, poll, vec![CheckRegistered]);
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    20
        },
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    21
        _ => warn!("Incorrect command in logging-in state"),
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    22
    }
03ccb89820f3 Room creation halfplemented
unc0rr
parents:
diff changeset
    23
}