Exemplo n.º 1
0
        private void AddDefaultPacketReceives()
        {
            Packet_Register.Instance.clientPacketReceivedRegister.Add("D_Connection", packetObj => {
                ConnectionPacket connectionPacket = (ConnectionPacket)packetObj[0];

                player_id           = connectionPacket.player_id;
                isConnectedToServer = true;

                OnConnectPacket ocp = new OnConnectPacket("D_OnConnect");
                SendPacketToServer(ocp);

                return(false);
            });
        }
Exemplo n.º 2
0
        private void AddDefaultPacketReceives()
        {
            Packet_Register.Instance.serverPacketReceivedRegister.Add("D_Connection", packetObj =>
            {
                ConnectionPacket connectionPacket = (ConnectionPacket)packetObj[0];
                NetConnection senderConnection    = (NetConnection)packetObj[2];

                //Register Player
                int newID = GetNextPlayerID();
                playersConnection.Add(senderConnection, newID);
                players.Add(newID, senderConnection);
                connectionPacket.player_id = newID;

                SendPacketToExistingConnection(connectionPacket, senderConnection, -1);

                return(false);
            });

            Packet_Register.Instance.serverPacketReceivedRegister.Add("D_OnConnect", packetObj =>
            {
                OnConnectPacket instantiate = (OnConnectPacket)packetObj[0];
                int playerId       = (int)packetObj[1];
                NetConnection conn = (NetConnection)packetObj[2];


                foreach (PacketWithId <InstantiationPacket> ip in registers)
                {
                    SendPacketToExistingConnection(ip.packet, conn, ip.playerId);
                }

                if (funcOnNewConnection != null)
                {
                    funcOnNewConnection.Invoke(packetObj);
                }

                return(false);
            });


            Packet_Register.Instance.serverPacketReceivedRegister.Add("D_Instantiate", packetObj =>
            {
                InstantiationPacket instantiate = (InstantiationPacket)packetObj[0];
                int playerId = (int)packetObj[1];

                instantiate.item_net_id = GetNextItemID();
                registers.Add(new PacketWithId <InstantiationPacket>(instantiate, playerId));

                SendPacketToAll(instantiate, playerId);

                return(false);
            });

            Packet_Register.Instance.serverPacketReceivedRegister.Add("D_Delete", packetObj =>
            {
                DeletePacket instantiate = (DeletePacket)packetObj[0];
                int playerId             = (int)packetObj[1];
                NetConnection conn       = (NetConnection)packetObj[2];

                int idToRemove = -1;

                for (int i = 0; i < registers.Count; i++)
                {
                    //Found packet we need to delete
                    if (registers[i].packet.item_net_id == instantiate.item_net_id)
                    {
                        idToRemove = i;
                        break;
                    }
                }

                registers.RemoveAt(idToRemove);
                SendPacketToAll(instantiate, playerId);
                return(false);
            });

            Packet_Register.Instance.serverPacketReceivedRegister.Add("D_PositionRotation", packetObj =>
            {
                PositionRotation packet = (PositionRotation)packetObj[0];
                int playerId            = (int)packetObj[1];
                NetConnection conn      = (NetConnection)packetObj[2];

                SendPacketToAll(packet, playerId);
                return(false);
            });
        }