public ClientBarrierStartData(
     int barrierGUID,
     List <ServerClientUtils.SequenceStartData> sequenceStartDataList,
     BarrierSerializeInfo gameplayInfo)
 {
     m_barrierGUID           = barrierGUID;
     m_sequenceStartDataList = sequenceStartDataList;
     m_barrierGameplayInfo   = gameplayInfo;
 }
    public static void SerializeBarriersToStartToStream(ref IBitStream stream, List <ClientBarrierStartData> barrierStartList)
    {
        sbyte barrierStartNum = (sbyte)barrierStartList.Count;

        stream.Serialize(ref barrierStartNum);

        for (int i = 0; i < barrierStartNum; i++)
        {
            ClientBarrierStartData clientBarrierStartData = barrierStartList[i];
            BarrierSerializeInfo   info = clientBarrierStartData.m_barrierGameplayInfo;
            BarrierSerializeInfo.SerializeBarrierInfo(stream, ref info);
            sbyte seqenceStartNum = (sbyte)clientBarrierStartData.m_sequenceStartDataList.Count;
            stream.Serialize(ref seqenceStartNum);
            for (int j = 0; j < seqenceStartNum; j++)
            {
                clientBarrierStartData.m_sequenceStartDataList[j].SequenceStartData_SerializeToStream(ref stream);
            }
        }
    }