no message
This commit is contained in:
61
CSBase/_Tool/Packet_Class.nut
Normal file
61
CSBase/_Tool/Packet_Class.nut
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
文件名: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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user