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); }); }
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); }); }