Example #1
0
 //Check whether it is a character of the player and turn the player on its index, and gave him the coordinates of movement
 static public void OnPlMove(NetworkMessage netms)
 {
     Message_Sr.PlayerGoTo_Sr Go = netms.ReadMessage <Message_Sr.PlayerGoTo_Sr>();
     if (Networking_OnConnect.AccountVerefication(Go.index, Go.login, Go.password))
     {
         try
         {
             if (Go.keySend)
             {
                 Player_MovePlayer move = GetPlayerController(Go.index);
                 if (move)
                 {
                     move.Newposit(Go.key, Go.down);
                 }
             }
             else
             {
                 Player_MovePlayer move = GetPlayerController(Go.index);
                 if (move)
                 {
                     move.axisY = Go.axisY;
                 }
             }
         }
         catch (UnityException ex)
         {
             Debug.Log(ex.Message);
             Debug.Log("Networking_OnPlayerMove: ERROR");
         }
     }
 }
 public static void GetRoomsList(NetworkMessage netMsg)
 {
     if (Networking_OnConnect.AccountVerefication(netMsg))
     {
         foreach (NetworkWriter wr in RoomsList)
         {
             netMsg.conn.SendWriter(wr, 0);
         }
     }
 }
    //If a player has selected a character check his data and send him to his character data
    static public void HandlerJoinToRoom(NetworkMessage netmsg)
    {
        Message_Sr.PlayerJoinToRoom_Sr join = netmsg.ReadMessage <Message_Sr.PlayerJoinToRoom_Sr>();
        if (Networking_OnConnect.AccountVerefication(join.sessionID, join.Login, join.Password))
        {
            Data_PlayerFile_Sr player = SQL_PlayerVerefy.CheckLP(join.Login, join.Password, join.playerNick);
            if (player)
            {
                AccountData acc = Networking_OnConnect.GetAccountData(join.sessionID);

                if (acc != null)
                {
                    if (acc.roomID == -1 && acc.indexInRoom == -1)
                    {
                        player.sessionID = join.sessionID;

                        Room room = GetRoom(join.roomID);
                        if (room)
                        {
                            bool connect = true;
                            if (room.password)
                            {
                                if (!room.CheckPassword(join.roomPassword))
                                {
                                    connect = false;
                                    Message_Sr.PlayerJoinToRoom_Sr error = new Message_Sr.PlayerJoinToRoom_Sr();
                                    error.errorMsg = "Password not correct";
                                    netmsg.conn.Send(Networking_msgType_Sr.JoinToRoom, error);
                                }
                            }
                            if (room.maxPlayerNumber == room.playerNumber)
                            {
                                connect = false;
                                Message_Sr.PlayerJoinToRoom_Sr error = new Message_Sr.PlayerJoinToRoom_Sr();
                                error.errorMsg = "Room have maximum players number";
                                netmsg.conn.Send(Networking_msgType_Sr.JoinToRoom, error);
                            }
                            if (connect)
                            {
                                SendRoomInstantiate(room.roomID, join.sessionID);
                                PlayerLoad(netmsg.conn, player, join.roomID);
                                Networking_PlayerListSend.OnPlayerList(netmsg.conn, join.roomID);
                                Networking_PlayerListSend.SendItems(netmsg.conn, join.sessionID);
                            }
                        }
                    }
                }
            }
            else
            {
                Disconnect(netmsg.conn.connectionId);
            }
        }
    }
Example #4
0
 public static void HandleReload(NetworkMessage netMsg)
 {
     Message_Sr.PlayerAction action = netMsg.ReadMessage <Message_Sr.PlayerAction>();
     if (Networking_OnConnect.AccountVerefication(action.index, action.log, action.pass))
     {
         Player_MovePlayer pl = GetPlayerController(action.index);
         if (pl != null)
         {
             pl.StartReload();
         }
     }
 }
Example #5
0
 public static void HandleRespawn(NetworkMessage netmsg)
 {
     Message_Sr.Respawn_Sr rs = netmsg.ReadMessage <Message_Sr.Respawn_Sr>();
     if (Networking_OnConnect.AccountVerefication(rs.index, rs.log, rs.pass))
     {
         Player_MovePlayer pl = GetPlayerController(rs.index);
         if (pl != null)
         {
             pl.Respawn();
         }
     }
 }
 public static void SendTopList(NetworkMessage netMsg)
 {
     Message_Sr.PlayerAction act = netMsg.ReadMessage <Message_Sr.PlayerAction>();
     if (Networking_OnConnect.AccountVerefication(act.index, act.log, act.pass))
     {
         NetworkConnection con = RoomsManager.GetPlayerConnection(act.index);
         if (con != null)
         {
             con.SendWriter(top, 1);
         }
     }
 }
Example #7
0
    public static void HandleDropWeapon(NetworkMessage netMsg)
    {
        Message_Sr.DropWeapon_Sr drop = netMsg.ReadMessage <Message_Sr.DropWeapon_Sr>();

        if (Networking_OnConnect.AccountVerefication(drop.index, drop.log, drop.pass))
        {
            Player_MovePlayer controll = GetPlayerController(drop.index);
            if (controll)
            {
                controll.DropWeapon();
            }
        }
    }
    public static void HandlerReady(NetworkMessage netmsg)
    {
        Message_Sr.PlayerSetReady ready = netmsg.ReadMessage <Message_Sr.PlayerSetReady>();
        if (Networking_OnConnect.AccountVerefication(ready.id, ready.log, ready.pass))
        {
            Data_PlayerFile_Sr data = GetPlayerData(ready.id);

            if (data)
            {
                data.PlayerReady = true;
                data.SetHP(data.HPMax);
            }
        }
    }
Example #9
0
    public static void HandlePickUpItem(NetworkMessage netMsg)
    {
        Message_Sr.PickUpWeapon_Sr pick = netMsg.ReadMessage <Message_Sr.PickUpWeapon_Sr>();

        if (Networking_OnConnect.AccountVerefication(pick.index, pick.log, pick.pass))
        {
            Player_MovePlayer controll = GetPlayerController(pick.index);
            if (controll)
            {
                controll.DropWeapon();
                PickUpItem(pick.indexItem, controll);
            }
        }
    }
Example #10
0
 static public void OnMouseButton(NetworkMessage netmsg)
 {
     Message_Sr.MouseButton_Sr mouse = netmsg.ReadMessage <Message_Sr.MouseButton_Sr>();
     if (Networking_OnConnect.AccountVerefication(mouse.index, mouse.log, mouse.pass))
     {
         if (mouse.down)
         {
             GetPlayerController(mouse.index).StartFire();
         }
         else
         {
             GetPlayerController(mouse.index).StopFire();
         }
     }
 }
    public static void HandlerCreateRoom(NetworkMessage netmsg)
    {
        Message_Sr.PlayerCreateRoom_Sr create = netmsg.ReadMessage <Message_Sr.PlayerCreateRoom_Sr>();
        if (Networking_OnConnect.AccountVerefication(create.sessionID, create.Login, create.Password))
        {
            Data_PlayerFile_Sr player = SQL_PlayerVerefy.CheckLP(create.Login, create.Password, create.playerNick);
            if (player)
            {
                AccountData acc = Networking_OnConnect.GetAccountData(create.sessionID);

                if (acc != null)
                {
                    if (acc.roomID == -1 && acc.indexInRoom == -1)
                    {
                        if (create.roomName.Length >= 5)
                        {
                            player.sessionID = create.sessionID;
                            int roomID = -1;

                            if (create.pass && !string.IsNullOrEmpty(create.roomPassword) && create.roomPassword.Length >= 4)
                            {
                                roomID = CreateRoom(create.roomName, create.mapID, create.roomPassword);
                            }
                            else if (!create.pass)
                            {
                                roomID = CreateRoom(create.roomName, create.mapID);
                            }

                            if (roomID != -1)
                            {
                                SendRoomInstantiate(roomID, create.sessionID);
                                PlayerLoad(netmsg.conn, player, roomID);
                                Networking_PlayerListSend.OnPlayerList(netmsg.conn, roomID);
                                Networking_PlayerListSend.SendItems(netmsg.conn, create.sessionID);
                            }
                        }
                    }
                }
            }
            else
            {
                Disconnect(netmsg.conn.connectionId);
            }
        }
    }
    public static void HandlerPlayerDisconnectAtRoom(NetworkMessage netmsg)
    {
        int sessionID = -1;

        if (Networking_OnConnect.AccountVerefication(netmsg, out sessionID))
        {
            AccountData data = Networking_OnConnect.GetAccountData(sessionID);

            if (data != null && data.roomID != -1)
            {
                Room room = GetRoom(data.roomID);

                if (room)
                {
                    room.DisconnectPlayer(data.indexInRoom);
                }
            }
        }
    }
Example #13
0
    //Add new char on account
    public static void CreateChar(NetworkMessage netmsg)
    {
        Message_Sr.CreateChar character = netmsg.ReadMessage <Message_Sr.CreateChar> ();
        if (Networking_OnConnect.AccountVerefication(character.sessionID, character.log, character.pass))
        {
            if (character.nick.Length < NickSymbolMin)
            {
                Message_Sr.CreateChar create = new Message_Sr.CreateChar();
                create.msg = minNickSymbol;
                netmsg.conn.Send(Networking_msgType_Sr.CharCreate, create);
            }
            else
            {
                Linq.CommandText = "SELECT id FROM accountlist WHERE AccountName='" + character.log + "' AND PasswordAc = '" + character.pass + "'";
                MySqlDataReader read = Linq.ExecuteReader();

                if (read.Read())
                {
                    int ID = int.Parse(read.GetString(0));
                    read.Close();
                    Linq.CommandText = "SELECT COUNT(*) FROM charecter WHERE PlayerName = '" + character.nick + "'";
                    read             = Linq.ExecuteReader();

                    if (read.Read())
                    {
                        if (int.Parse(read.GetString(0)) == 1)
                        {
                            read.Close();
                            Message_Sr.CreateChar create = new Message_Sr.CreateChar();
                            create.msg = busyNick;
                            netmsg.conn.Send(Networking_msgType_Sr.CharCreate, create);
                        }
                        else
                        {
                            read.Close();
                            Linq.CommandText = "SELECT COUNT(*) FROM charecter WHERE account_id = '" + ID.ToString() + "'";
                            read             = Linq.ExecuteReader();

                            if (read.Read())
                            {
                                int numberChars = int.Parse(read.GetString(0));
                                read.Close();

                                if (numberChars < maxCharInAccount)
                                {
                                    Linq.CommandText = "INSERT INTO charecter (account_id, PlayerName, MaxHP, PlayerScores, scene_ID, x, y, z) VALUES (" + ID.ToString() + ", '" + character.nick + "', 100, 0, 0, '5', '120', '5')";
                                    int row = Linq.ExecuteNonQuery();
                                    Debug.Log("Succsess create new character '" + character.nick + "' " + row + ".");
                                    Message_Sr.CreateChar create = new Message_Sr.CreateChar();
                                    create.msg = characterCreated;
                                    netmsg.conn.Send(Networking_msgType_Sr.CharCreate, create);
                                    List <Data_PlayerFile_Sr> list = SQL_FindLogPass.CharDataGet(ID.ToString());
                                    Message_Sr.CharData       data = new Message_Sr.CharData();
                                    data.index   = character.sessionID;
                                    data.players = list;
                                    netmsg.conn.Send(Networking_msgType_Sr.PlayerDataGet, data.Serialize());
                                }
                                else
                                {
                                    Message_Sr.CreateChar create = new Message_Sr.CreateChar();
                                    create.msg = maxChars;
                                    netmsg.conn.Send(Networking_msgType_Sr.CharCreate, create);
                                }
                            }
                            else
                            {
                                Message_Sr.CreateChar create = new Message_Sr.CreateChar();
                                create.msg = notValidAcc;
                                netmsg.conn.Send(Networking_msgType_Sr.CharCreate, create);
                            }
                        }
                    }
                }
            }
        }
    }
    public static void ChatHandler(NetworkMessage netmsg)
    {
        Message_Sr.Chat_Sr chatR = netmsg.ReadMessage <Message_Sr.Chat_Sr> ();

        if (Networking_OnConnect.AccountVerefication(chatR.index, chatR.log, chatR.pass))
        {
            AccountData acc  = Networking_OnConnect.GetAccountData(chatR.index);
            Room        room = GetRoom(acc.roomID);

            if (room)
            {
                switch (chatR.msgType)
                {
                case (int)ChatMessage.chat:
                    Message_Sr.Chat_Sr chatW = new Message_Sr.Chat_Sr();
                    chatW.msgTypeW = (int)ChatMessage.chat;
                    chatW.nickW    = GetPlayerData(chatR.index).nick;
                    chatW.id       = chatR.index;
                    chatW.msgW     = chatR.msg;
                    SendReliableAtRoom(Networking_msgType_Sr.Chat, chatW, chatR.index);
                    break;

                case (int)ChatMessage.privat:
                    if (chatR.indexPriv == -1)
                    {
                        for (int i = 0; i < room.playersData.Count; i++)
                        {
                            if (room.playersData[i].playerData.nick == chatR.nick)
                            {
                                chatR.indexPriv = room.playersData[i].sessionID;
                                break;
                            }
                        }
                    }
                    if (chatR.indexPriv == -1)
                    {
                        NetworkWriter wr = new NetworkWriter();
                        wr.StartMessage(Networking_msgType_Sr.Chat);
                        wr.Write((int)ChatMessage.system);
                        wr.Write("System");
                        wr.Write(-1);
                        wr.Write("This player is offline.");
                        wr.FinishMessage();
                        netmsg.conn.SendWriter(wr, 0);
                    }
                    else
                    {
                        NetworkWriter wr = new NetworkWriter();
                        wr.StartMessage(Networking_msgType_Sr.Chat);
                        wr.Write((int)ChatMessage.privat);
                        wr.Write(GetPlayerData(chatR.indexPriv).nick);
                        wr.Write(chatR.index);
                        wr.Write(chatR.msg);
                        wr.FinishMessage();
                        SendToThisPlayer(wr, chatR.index);

                        wr = new NetworkWriter();
                        wr.StartMessage(Networking_msgType_Sr.Chat);
                        wr.Write((int)ChatMessage.privat);
                        wr.Write(GetPlayerData(chatR.index).nick);
                        wr.Write(chatR.index);
                        wr.Write(chatR.msg);
                        wr.FinishMessage();
                        SendToThisPlayer(wr, chatR.indexPriv);
                    }
                    break;
                }
            }
        }
    }