private void createTransportersForNewClient(ClientNetworked cl) { var clTrans = new ClientPacketManagerNetworked.IClientPacketTransporterNetworked[transporters.Count]; for (int i = 0; i < transporters.Count; i++) { var t = transporters[i]; var fact = transporterFactories[t]; var clientTransporter = fact.CreateTransporter(cl.PacketManager); clTrans[i] = clientTransporter; } cl.PacketManager.AutoAssignPacketIDs(); sendUDPConnectionConfirmed(cl); cl.PacketManager.WaitForRemotePacketIDsSynced(); for (int i = 0; i < transporters.Count; i++) { transporters[i].AddClientTransporter(cl, clTrans[i]); } }
void IServerPacketTransporterNetworked.AddClientTransporter(IClient client, ClientPacketManagerNetworked.IClientPacketTransporterNetworked transporter) { AddClientTransporter(client, (IClientPacketTransporter <T>)transporter); }