1、SLua中不支持参数默认值。
public void ShowEffectById(int id = 0, OnCallBack callBack = null, int layerint = 5)
expect valid delegate
ShowEffectById(1012,nil,5)
--5s后开始,每隔2s执行一次,return true表示持续回调,不写或return false表示执行一次
LuaTimer.Add(5000,2000,function(id)
print("hello world!")
return true
end)
--2s后执行
LuaTimer.Add(2000,function(id)
print("hello world!")
end)
[CustomLuaClass]
public class IntList : List { }
local ll=XXList() -- it's List
ll:Add(1)
print(ll.Count)
--Student.protp
message Student
{
required int32 id = 1;
extensions 10 to max;
}
message Phone
{
extend Student
{
repeated Phone phones = 10;
}
}
local student= Student_pb.Person()
local phone = student.Extensions[Student_pb.Phone.phones]
local data = student:SerializeToString() --卡死
local student= Student_pb.Person()
local data = student:SerializeToString() --正常
然后在 游戏中 空的 message 的话,虽然可以不去获取 extensions来避免崩溃卡死,但是这样的数据会出问题,所以对于之前的空的message,我们就设置一个 optional的值 。然后在 代码中使用这个message的时候一定要记得设置这个optional的值。
5、在SLua中使用List。首先要导出你要使用的类的List,比如你要在Lua中使用 List .那么首先把添加到导出列表
add(typeof(List), "ListString");
local stringlist=ListString()
stringlist:Add("haha")