JJBB/Assets/XLua/Gen/PackUnpack.cs
2024-08-23 15:49:34 +08:00

542 lines
14 KiB
C#

#if USE_UNI_LUA
using LuaAPI = UniLua.Lua;
using RealStatePtr = UniLua.ILuaState;
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
#else
using LuaAPI = XLua.LuaDLL.Lua;
using RealStatePtr = System.IntPtr;
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
#endif
using System;
namespace XLua
{
public static partial class CopyByValue
{
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Vector2 val)
{
val = new UnityEngine.Vector2();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "x"))
{
translator.Get(L, top + 1, out val.x);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "y"))
{
translator.Get(L, top + 1, out val.y);
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Vector2 field)
{
if(!LuaAPI.xlua_pack_float2(buff, offset, field.x, field.y))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Vector2 field)
{
field = default(UnityEngine.Vector2);
float x = default(float);
float y = default(float);
if(!LuaAPI.xlua_unpack_float2(buff, offset, out x, out y))
{
return false;
}
field.x = x;
field.y = y;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Vector3 val)
{
val = new UnityEngine.Vector3();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "x"))
{
translator.Get(L, top + 1, out val.x);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "y"))
{
translator.Get(L, top + 1, out val.y);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "z"))
{
translator.Get(L, top + 1, out val.z);
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Vector3 field)
{
if(!LuaAPI.xlua_pack_float3(buff, offset, field.x, field.y, field.z))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Vector3 field)
{
field = default(UnityEngine.Vector3);
float x = default(float);
float y = default(float);
float z = default(float);
if(!LuaAPI.xlua_unpack_float3(buff, offset, out x, out y, out z))
{
return false;
}
field.x = x;
field.y = y;
field.z = z;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Vector4 val)
{
val = new UnityEngine.Vector4();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "x"))
{
translator.Get(L, top + 1, out val.x);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "y"))
{
translator.Get(L, top + 1, out val.y);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "z"))
{
translator.Get(L, top + 1, out val.z);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "w"))
{
translator.Get(L, top + 1, out val.w);
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Vector4 field)
{
if(!LuaAPI.xlua_pack_float4(buff, offset, field.x, field.y, field.z, field.w))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Vector4 field)
{
field = default(UnityEngine.Vector4);
float x = default(float);
float y = default(float);
float z = default(float);
float w = default(float);
if(!LuaAPI.xlua_unpack_float4(buff, offset, out x, out y, out z, out w))
{
return false;
}
field.x = x;
field.y = y;
field.z = z;
field.w = w;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Color val)
{
val = new UnityEngine.Color();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "r"))
{
translator.Get(L, top + 1, out val.r);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "g"))
{
translator.Get(L, top + 1, out val.g);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "b"))
{
translator.Get(L, top + 1, out val.b);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "a"))
{
translator.Get(L, top + 1, out val.a);
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Color field)
{
if(!LuaAPI.xlua_pack_float4(buff, offset, field.r, field.g, field.b, field.a))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Color field)
{
field = default(UnityEngine.Color);
float r = default(float);
float g = default(float);
float b = default(float);
float a = default(float);
if(!LuaAPI.xlua_unpack_float4(buff, offset, out r, out g, out b, out a))
{
return false;
}
field.r = r;
field.g = g;
field.b = b;
field.a = a;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Quaternion val)
{
val = new UnityEngine.Quaternion();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "x"))
{
translator.Get(L, top + 1, out val.x);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "y"))
{
translator.Get(L, top + 1, out val.y);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "z"))
{
translator.Get(L, top + 1, out val.z);
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "w"))
{
translator.Get(L, top + 1, out val.w);
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Quaternion field)
{
if(!LuaAPI.xlua_pack_float4(buff, offset, field.x, field.y, field.z, field.w))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Quaternion field)
{
field = default(UnityEngine.Quaternion);
float x = default(float);
float y = default(float);
float z = default(float);
float w = default(float);
if(!LuaAPI.xlua_unpack_float4(buff, offset, out x, out y, out z, out w))
{
return false;
}
field.x = x;
field.y = y;
field.z = z;
field.w = w;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Ray val)
{
val = new UnityEngine.Ray();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "origin"))
{
var origin = val.origin;
translator.Get(L, top + 1, out origin);
val.origin = origin;
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "direction"))
{
var direction = val.direction;
translator.Get(L, top + 1, out direction);
val.direction = direction;
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Ray field)
{
if(!Pack(buff, offset, field.origin))
{
return false;
}
if(!Pack(buff, offset + 12, field.direction))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Ray field)
{
field = default(UnityEngine.Ray);
var origin = field.origin;
if(!UnPack(buff, offset, out origin))
{
return false;
}
field.origin = origin;
var direction = field.direction;
if(!UnPack(buff, offset + 12, out direction))
{
return false;
}
field.direction = direction;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Bounds val)
{
val = new UnityEngine.Bounds();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "center"))
{
var center = val.center;
translator.Get(L, top + 1, out center);
val.center = center;
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "extents"))
{
var extents = val.extents;
translator.Get(L, top + 1, out extents);
val.extents = extents;
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Bounds field)
{
if(!Pack(buff, offset, field.center))
{
return false;
}
if(!Pack(buff, offset + 12, field.extents))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Bounds field)
{
field = default(UnityEngine.Bounds);
var center = field.center;
if(!UnPack(buff, offset, out center))
{
return false;
}
field.center = center;
var extents = field.extents;
if(!UnPack(buff, offset + 12, out extents))
{
return false;
}
field.extents = extents;
return true;
}
public static void UnPack(ObjectTranslator translator, RealStatePtr L, int idx, out UnityEngine.Ray2D val)
{
val = new UnityEngine.Ray2D();
int top = LuaAPI.lua_gettop(L);
if (Utils.LoadField(L, idx, "origin"))
{
var origin = val.origin;
translator.Get(L, top + 1, out origin);
val.origin = origin;
}
LuaAPI.lua_pop(L, 1);
if (Utils.LoadField(L, idx, "direction"))
{
var direction = val.direction;
translator.Get(L, top + 1, out direction);
val.direction = direction;
}
LuaAPI.lua_pop(L, 1);
}
public static bool Pack(IntPtr buff, int offset, UnityEngine.Ray2D field)
{
if(!Pack(buff, offset, field.origin))
{
return false;
}
if(!Pack(buff, offset + 8, field.direction))
{
return false;
}
return true;
}
public static bool UnPack(IntPtr buff, int offset, out UnityEngine.Ray2D field)
{
field = default(UnityEngine.Ray2D);
var origin = field.origin;
if(!UnPack(buff, offset, out origin))
{
return false;
}
field.origin = origin;
var direction = field.direction;
if(!UnPack(buff, offset + 8, out direction))
{
return false;
}
field.direction = direction;
return true;
}
}
}