--[[
    说明:如果需要从C++侧调用Lua,需要将UnLua模块添加到 {工程名}.Build.cs 的依赖配置里

    如果需要访问Lua原生API,则还需要添加Lua模块

    例如:
    PrivateDependencyModuleNames.AddRange(new string[]
    {
        "UnLua",
        "Lua",
    });

    本示例C++源码:
    Source\TPSProject\TutorialBlueprintFunctionLibrary.cpp
]]--

local Screen = require "Tutorials.Screen"

local M = UnLua.Class()

function M:ReceiveBeginPlay()
    local msg =
        [[

    —— 本示例来自 "Content/Script/Tutorials.08_CppCallLua.lua"
    ]]
    Screen.Print(msg)
    UE.UTutorialBlueprintFunctionLibrary.CallLuaByGlobalTable()
    Screen.Print("=================")
    UE.UTutorialBlueprintFunctionLibrary.CallLuaByFLuaTable()
end

function M.CallMe(a, b)
    local ret = a + b
    local msg = string.format("[Lua]收到来自C++的调用,a=%f b=%f,返回%f", a, b, ret)
    Screen.Print(msg)
    return ret
end

return M