Ejemplo n.º 1
0
        public override void EncodeDecode(eCoderType eType, BufferCoder coder)
        {
            coder.EncodeDecode(eType, ref m_nCode);
            coder.EncodeDecode(eType, ref m_nFloor);

            coder.EncodeDecode(eType, ref m_nArrAppearMon);
            coder.EncodeDecode(eType, ref m_nArrAppearRateMon);
        }
Ejemplo n.º 2
0
 private bool LoadFile(string strPath)
 {
     using (BufferCoder coder = new BufferCoder())
     {
         using (FileStream fs = new FileStream(strPath, FileMode.Open, FileAccess.Read))
         {
             long   size   = fs.Length;
             byte[] output = coder.GetBuffer();
             fs.Read(output, 0, output.Length);
             fs.Close();
         }
         m_tableFmData.EncodeDecode(eCoderType.Decode, coder);
     }
     return(Link());
 }
Ejemplo n.º 3
0
        public void EncodeDecode(eCoderType eCoder, BufferCoder coder)
        {
            if (eCoderType.Encode == eCoder)
            {
                {
                    int count = m_dicTypes.Count;
                    coder.EncodeDecode(eCoder, ref count);
                    foreach (var node in m_dicTypes)
                    {
                        string      dicKey   = node.Key.ToString();
                        eFmDataType dataType = node.Value;
                        coder.EncodeDecode(eCoder, ref dicKey);
                        coder.EncodeDecode(eCoder, ref dataType, sizeof(int));
                    }
                }
                {
                    // 1. Dictionary<eFmDataType, Dictionary<int, fmData>> dicTypeFmData
                    // 1-1 dicTypeFmData.Count;
                    int count = m_dicFmDatas.Count;
                    coder.EncodeDecode(eCoder, ref count);

                    // 1-2 dicKey
                    foreach (var node in m_dicFmDatas)
                    {
                        int dicKey = (int)node.Key;
                        coder.EncodeDecode(eCoder, ref dicKey);
                    }

                    // 2. Dictionary<int, fmData> dicFmData
                    foreach (var node in m_dicFmDatas)
                    {
                        // 2-1 dicFmData.Count
                        int cnt = node.Value.Count;
                        coder.EncodeDecode(eCoder, ref cnt);

                        // 2-2 dicKey
                        foreach (var item in node.Value)
                        {
                            item.Value.EncodeDecode(eCoder, coder);
                        }
                    }
                }
            }
            else
            {
                {
                    Dictionary <string, eFmDataType> dicTypes = new Dictionary <string, eFmDataType>();
                    dicTypes.Clear();

                    int count = 0;
                    coder.EncodeDecode(eCoder, ref count);
                    for (int i = 0; i < count; ++i)
                    {
                        string      dicKey   = string.Empty;
                        eFmDataType dataType = eFmDataType.None;
                        coder.EncodeDecode(eCoder, ref dicKey);
                        coder.EncodeDecode(eCoder, ref dataType, sizeof(int));
                        dicTypes.Add(dicKey, dataType);
                    }

                    m_dicTypes = dicTypes;
                }
                {
                    Dictionary <eFmDataType, Dictionary <int, fmData> > dicFmDatas = new Dictionary <eFmDataType, Dictionary <int, fmData> >();

                    int typeCount = 0;
                    coder.EncodeDecode(eCoder, ref typeCount);

                    for (int i = 0; i < typeCount; ++i)
                    {
                        eFmDataType eDataType = eFmDataType.None;
                        int         dicKey    = 0;
                        coder.EncodeDecode(eCoder, ref dicKey);
                        eDataType = (eFmDataType)dicKey;
                        dicFmDatas.Add(eDataType, new Dictionary <int, fmData>());
                    }

                    foreach (var node in dicFmDatas)
                    {
                        int listCount = 0;
                        coder.EncodeDecode(eCoder, ref listCount);

                        for (int i = 0; i < listCount; ++i)
                        {
                            fmData _fmData = CreateFmData(node.Key);

                            _fmData.EncodeDecode(eCoder, coder);

                            node.Value.Add(_fmData.Code, _fmData);
                        }
                    }

                    m_dicFmDatas = dicFmDatas;
                }
            }
        }
Ejemplo n.º 4
0
 public override void EncodeDecode(eCoderType eType, BufferCoder coder)
 {
     base.EncodeDecode(eType, coder);
 }
Ejemplo n.º 5
0
 public virtual void EncodeDecode(eCoderType eType, BufferCoder coder)
 {
 }