/* 文件名:Pack_Class.nut 路径:Base/_Tool/Pack_Class.nut 创建日期:2025-06-30 09:24 文件用途:字节包 */ class Packet { //读取指针位置 Index = 0; //内存数据 Pointer = null; //包大小 Size = 0; //加载包 function Load(P, S) { Pointer = P; Size = S; } //读取指针跳转 function Seek(...) { local Pos = vargv[0]; local Mode = 0; if(vargc > 1) Mode = vargv[1]; if (Mode == 0) { Index = Pos; } else if (Mode == 1) { Index += Pos; } else if (Mode == 2) { Index -= Pos; } } //读取整形 function GetInt() { local Size_t = 4; if (Index + Size_t > Size) { print("读取包越界!"); return; } local Buf = NativePointer(Pointer).add(Index).readInt(); Index += Size_t; return Buf; } //读取流 function GetStream(Size_t) { if (Index + Size_t > Size) { print("读取包越界!"); return; } local Np = NativePointer(Pointer).add(Index); Np.Size = Size_t; Index += Size_t; return Np; } }