示例#1
0
    static int EnumParam(RealStatePtr L)
    {
        string parameterName = "";
        string enumString    = "";
        string defaultValue  = "";

        try
        {
            int paramCount = LuaAPI.lua_gettop(L);
            parameterName = LuaAPI.lua_tostring(L, 2);
            enumString    = LuaAPI.lua_tostring(L, 3);
            defaultValue  = LuaAPI.lua_tostring(L, 4);
        }
        catch (Exception e)
        {
            return(LuaAPI.luaL_error(L, "c# exception:" + e));
        }
        string[] splitEnumString = enumString.Split('|');
        string   result          = contents.EnumProperty(parameterName, splitEnumString, defaultValue);

        if (recordedBehaviour)
        {
            callRecords.Add(() =>
            {
                contents.EnumProperty(parameterName, splitEnumString, defaultValue);
            });
        }
        try
        {
            LuaAPI.lua_pushstring(L, result);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaAPI.luaL_error(L, "c# exception:" + e));
        }
    }