public static bool ReadTransform_Tbl(LuaTable tbl, string fieldName, out UnityEngine.Vector3 pos, out UnityEngine.Vector3 euler, out UnityEngine.Vector3 scale) { pos = euler = UnityEngine.Vector3.zero; scale = UnityEngine.Vector3.one; LuaTable val; if (!LuaReadHelper.GetTValue2Table(tbl, fieldName, out val)) { return(false); } if (val.ArrayPart.Length != 9) { return(false); } pos.x = (float)val.ArrayPart[0].V.NValue; pos.y = (float)val.ArrayPart[1].V.NValue; pos.z = (float)val.ArrayPart[2].V.NValue; euler.x = (float)val.ArrayPart[3].V.NValue; euler.y = (float)val.ArrayPart[4].V.NValue; euler.z = (float)val.ArrayPart[5].V.NValue; scale.x = (float)val.ArrayPart[6].V.NValue; scale.y = (float)val.ArrayPart[7].V.NValue; scale.z = (float)val.ArrayPart[8].V.NValue; return(true); }
public static bool ReadVector3_Tbl(LuaTable tbl, string fieldName, out UnityEngine.Vector3 value) { value = UnityEngine.Vector3.zero; LuaTable val; if (!LuaReadHelper.GetTValue2Table(tbl, fieldName, out val)) { return(false); } return(ReadVector3(val, out value)); }
public static bool ReadNumberArray_Tbl <T>(LuaTable tbl, string fieldName, out T[] value) { value = null; LuaTable val; if (!LuaReadHelper.GetTValue2Table(tbl, fieldName, out val)) { return(false); } if (val.ArrayPart.Length <= 0) { value = new T[0]; return(true); } value = new T[val.ArrayPart.Length]; for (int i = 0; i < val.ArrayPart.Length; ++i) { value[i] = (T)Convert.ChangeType(val.ArrayPart[i].V.NValue, typeof(T)); } return(true); }