public ushort getUShort() { int nLen = sizeof(ushort); if (streamPos + nLen > this._bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getUShort"); return(0); } ushort val = BitConverter.ToUInt16(this._bytes, this.streamPos); streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getUShort"); return(0); } info.RecordReadSize += nLen; } return(val); }
public string getString(int nLen) { if (this.streamPos + nLen > this.bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getString"); return(null); } string str = Encoding.UTF8.GetString(this.bytes, this.streamPos, nLen); this.streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getString"); return(null); } info.RecordReadSize += nLen; } return(str); }
public sbyte getSByte() { int nLen = sizeof(sbyte); if (this.streamPos + nLen > this._bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getSByte "); return(0); } sbyte bt = Convert.ToSByte(_bytes[this.streamPos]); this.streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getSByte"); return(0); } info.RecordReadSize += nLen; } return(bt); }
public DateTime getDateTime() { int nLen = sizeof(long); if (streamPos + nLen > this.bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getDateTime"); return(DateTime.MinValue); } long val = BitConverter.ToInt64(this.bytes, this.streamPos); streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getDateTime"); return(DateTime.MinValue); } info.RecordReadSize += nLen; } return(FromUnixTime(Convert.ToDouble(val))); }
public Int64 readInt64() { int nLen = sizeof(Int64); if (streamPos + nLen > this.bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: readInt64"); return(0); } Int64 val = BitConverter.ToInt64(this.bytes, this.streamPos); streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: readInt64"); return(0); } info.RecordReadSize += nLen; } return(val); }
public double getDouble() { int nLen = sizeof(double); if (streamPos + nLen > this.bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getDouble"); return(0); } double val = BitConverter.ToDouble(this.bytes, this.streamPos); streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getDouble"); return(0); } info.RecordReadSize += nLen; } return(val); }
public int getInt() { int nLen = sizeof(int); if (streamPos + nLen > this.bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getInt" + ActionId); return(0); } int val = BitConverter.ToInt32(this.bytes, this.streamPos); streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getInt" + ActionId); return(0); } info.RecordReadSize += nLen; } return(val); }
public byte getByte() { int nLen = sizeof(byte); if (this.streamPos + nLen > this.bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: getBYTE "); return(0); } byte bt = bytes[this.streamPos]; this.streamPos += nLen; if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { Debug.Log(" Failed: 记录长度越界 NetReader: getBYTE"); return(0); } info.RecordReadSize += nLen; } return(bt); }
private bool CheckRecordSize(int nLen) { if (this.RecordStack.Count > 0) { RECORDINFO info = RecordStack.Peek(); if (info.RecordReadSize + nLen > info.RecordSize) { return(true); } info.RecordReadSize += nLen; } return(false); }
public void recordEnd() { if (RecordStack.Count > 0) { RECORDINFO info = RecordStack.Pop(); this.streamPos += (info.RecordSize - info.RecordReadSize); if (RecordStack.Count > 0) { RECORDINFO parent = RecordStack.Peek(); parent.RecordReadSize += info.RecordSize - 4; } } }
public bool recordBegin() { int nLen = sizeof(int); if (streamPos + nLen > this._bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: recordBegin "); return(false); } int nRecoredSize = getInt(); RECORDINFO info = new RECORDINFO(nRecoredSize, nLen); RecordStack.Push(info); return(nRecoredSize > 4); }
public bool recordBegin() { int nLen = sizeof(int); if (streamPos + nLen > this._bytes.Length) { Debug.Log(" Failed: 长度越界 NetReader: recordBegin "); return false; } int nRecoredSize = getInt(); RECORDINFO info = new RECORDINFO(nRecoredSize, nLen); RecordStack.Push(info); return nRecoredSize > 4; }