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); }
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()); }
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; } } }
public override void EncodeDecode(eCoderType eType, BufferCoder coder) { base.EncodeDecode(eType, coder); }
public virtual void EncodeDecode(eCoderType eType, BufferCoder coder) { }