public static void Register(LuaState L) { #if !LUAC_5_3 L.BindEnumEqualFunction(new LuaCSFunction(Equals)); #endif L.BeginClass(typeof(System.Enum), null); L.RegFunction("GetTypeCode", new LuaCSFunction(GetTypeCode)); L.RegFunction("GetValues", new LuaCSFunction(GetValues)); L.RegFunction("GetNames", new LuaCSFunction(GetNames)); L.RegFunction("GetName", new LuaCSFunction(GetName)); L.RegFunction("IsDefined", new LuaCSFunction(IsDefined)); L.RegFunction("GetUnderlyingType", new LuaCSFunction(GetUnderlyingType)); L.RegFunction("CompareTo", new LuaCSFunction(CompareTo)); L.RegFunction("ToString", new LuaCSFunction(ToString)); #if !LUAC_5_3 L.RegEnumEqualFunction("Equals"); L.RegEnumEqualFunction("__eq"); #else L.RegFunction("Equals", new LuaCSFunction(Equals)); L.RegFunction("__eq", new LuaCSFunction(Equals)); #endif L.RegFunction("GetHashCode", new LuaCSFunction(GetHashCode)); L.RegFunction("Format", new LuaCSFunction(Format)); L.RegFunction("Parse", new LuaCSFunction(Parse)); L.RegFunction("ToObject", new LuaCSFunction(ToObject)); L.RegFunction("ToInt", new LuaCSFunction(ToInt)); L.RegFunction("__tostring", new LuaCSFunction(ToLua.op_ToString)); L.EndClass(); }