public virtual void Initialize(string networkAddress, int networkHostId, int networkConnectionId, HostTopology hostTopology)
{
this.m_Writer = new NetworkWriter();
this.address = networkAddress;
this.hostId = networkHostId;
this.connectionId = networkConnectionId;
int channelCount = hostTopology.DefaultConfig.ChannelCount;
int packetSize = (int)hostTopology.DefaultConfig.PacketSize;
if (hostTopology.DefaultConfig.UsePlatformSpecificProtocols && Application.platform != RuntimePlatform.PS4 && Application.platform != RuntimePlatform.PSP2)
{
throw new ArgumentOutOfRangeException("Platform specific protocols are not supported on this platform");
}
this.m_Channels = new ChannelBuffer[channelCount];
for (int i = 0; i < channelCount; i++)
{
ChannelQOS channelQOS = hostTopology.DefaultConfig.Channels[i];
int bufferSize = packetSize;
if (channelQOS.QOS == QosType.ReliableFragmented || channelQOS.QOS == QosType.UnreliableFragmented)
{
bufferSize = (int)(hostTopology.DefaultConfig.FragmentSize * 128);
}
this.m_Channels[i] = new ChannelBuffer(this, bufferSize, (byte)i, NetworkConnection.IsReliableQoS(channelQOS.QOS), NetworkConnection.IsSequencedQoS(channelQOS.QOS));
}
}