Пример #1
0
    static public void LoginGet(NetworkMessage netMsg)
    {
        tempConn = netMsg.conn;
        Message_Sr.LoginSendMess_Sr Aut = netMsg.ReadMessage <Message_Sr.LoginSendMess_Sr>();
        int accID = -1;

        if (SQL_FindLogPass.CheckLP(Aut.log, Aut.pass, out data, out accID))
        {
            AccountData acc = new AccountData();
            acc.conn      = netMsg.conn;
            acc.login     = Aut.log;
            acc.password  = Aut.pass;
            acc.accountID = accID;

            int sessionID = -1;
            if (freeSlots.Count > 0)
            {
                sessionID = freeSlots[0];
                freeSlots.RemoveAt(0);
                Accounts[sessionID] = acc;
            }
            else
            {
                sessionID = Accounts.Count;
                Accounts.Add(acc);
            }
            ConnectionIDList.Add(netMsg.conn.connectionId, sessionID);
            AccountOnline.Add(accID, true);

            Message_Sr.CharData charsList = new Message_Sr.CharData();
            charsList.index   = sessionID;
            charsList.players = data;
            netMsg.conn.Send(Networking_msgType_Sr.PlayerDataGet, charsList.Serialize());
        }
    }