浏览代码

ft: 生成lua序列化相关代码

master
SisMaker 1年前
父节点
当前提交
ccbd54f3b8
共有 3 个文件被更改,包括 21 次插入48 次删除
  1. +8
    -8
      src/writeLua/ByteArray.lua
  2. +8
    -8
      src/writeLua/gLuaField.erl
  3. +5
    -32
      src/writeLua/gLuaGen.erl

+ 8
- 8
src/writeLua/ByteArray.lua 查看文件

@ -133,22 +133,22 @@ function ByteArray(endian)
writeBuf(buf)
end
-- 读32位整型
ba.read_int = function()
ba.read_int32 = function()
local tmp, value = string.unpack(readBuf(4), getLetterCode("i"))
return value
end
-- 写32位整型
ba.write_int = function(value)
ba.write_int32 = function(value)
local buf = string.pack(getLetterCode("i"), value)
writeBuf(buf)
end
-- 读32位无符号整型
ba.read_uint = function()
ba.read_uint32 = function()
local tmp, value = string.unpack(readBuf(4), getLetterCode("I"))
return value
end
-- 写32位无符号整型
ba.write_uint = function(value)
ba.write_uint32 = function(value)
local buf = string.pack(getLetterCode("I"), value)
writeBuf(buf)
end
@ -231,16 +231,16 @@ function ByteArray(endian)
end
end
-- 读字符型
ba.read_char = function()
ba.read_int8 = function()
local tmp, value = string.unpack(readRawByte(), "c")
return value
end
-- 写字符型
ba.write_char = function(value)
ba.write_int8 = function(value)
writeRawByte(string.pack("c", value))
end
-- 读单字节
ba.read_uchar = function()
ba.read_uint8 = function()
-- 方法1
-- return string.byte(readRawByte())
-- 方法2
@ -248,7 +248,7 @@ function ByteArray(endian)
return value
end
-- 写单字节
ba.write_uchar = function(value)
ba.write_uint8 = function(value)
-- 方法1
-- writeRawByte(string.char(value))
-- 方法2

+ 8
- 8
src/writeLua/gLuaField.erl 查看文件

@ -17,14 +17,14 @@
-define(TypeValue, [
{<<"bool">>, <<"bool">>}
, {<<"int8">>, <<"sbyte">>}
, {<<"uint8">>, <<"byte">>}
, {<<"int16">>, <<"short">>}
, {<<"uint16">>, <<"ushort">>}
, {<<"int32">>, <<"int">>}
, {<<"uint32">>, <<"uint">>}
, {<<"int64">>, <<"long">>}
, {<<"uint64">>, <<"ulong">>}
, {<<"int8">>, <<"int8">>}
, {<<"uint8">>, <<"uint8">>}
, {<<"int16">>, <<"int16">>}
, {<<"uint16">>, <<"uint16">>}
, {<<"int32">>, <<"int32">>}
, {<<"uint32">>, <<"uint32">>}
, {<<"int64">>, <<"int64">>}
, {<<"uint64">>, <<"uint64">>}
, {<<"float">>, <<"float">>}
, {<<"double">>, <<"double">>}
, {<<"string">>, <<"string">>}

+ 5
- 32
src/writeLua/gLuaGen.erl 查看文件

@ -1,15 +1,9 @@
%% Author: NoteBook
%% Created: 2009-9-18
%% Description: TODO: Add description to gen_protocal_charp
-module(gLuaGen).
%%
%% Include files
%%
-export([
genLua/4
]).
%%
%% Exported Functions
%%
-export([start/0]).
-export([test/0]).
%%
@ -20,35 +14,14 @@ start() ->
StructList = protocol_def:get_struct_def(),
TypeList = gen_common:get_type(),
FileStr = make_protocal(StructList, "", TypeList),
%% file:write_file("NetPacket.lua", FileStr),
%% file:write_file("NetPacket.lua", lists:concat(["return {", FileStr, "}"])),
file:write_file("NetPacket.lua", FileStr),
file:write_file("NetPacket.lua", FileStr),
EnumStr = make_protocal_enum(protocol_def:get_enum_def(), ""),
ConstStr = make_protocal_const(protocol_def:get_version()),
file:write_file("NetEnumDef.lua", EnumStr ++ "\n" ++ ConstStr),
MsgTypeStr = make_protocal_msg_type(StructList, "", 1),
file:write_file("NetMsgType.lua", MsgTypeStr).
%%
%% Local Functions
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% make_include() ->
%% "using System;
%% using System.Collections;".
%% "#pragma once
%% #include\"ByteArray.h\"
%% #include\"BaseType.h\"
%% #include\"INetPacket.h\"
%% #include\"NetMsgType.h\"
%% #include<string>
%% #include<vector>
%% ".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
make_protocal([], StructStr, _TypeList) ->
StructStr;
make_protocal([Struct | Structs], StructStr, TypeList) ->

正在加载...
取消
保存