Files
BusyRabbit/Content/Lua/GamePlay/Utils/BuildUtils.lua
2025-07-09 01:08:35 +08:00

29 lines
813 B
Lua

local BuildUtils = {}
local BusyActorManagerSubSystem = import("BusyActorManagerSubSystem")
local function BuildBonfire(wco)
local sub_system = BusyActorManagerSubSystem.Get(wco)
local role = sub_system.current_role
local bonfire = sub_system:GetNearestBonfire()
local role_pos = role:K2_GetActorLocation()
local bonfire_pos = bonfire:K2_GetActorLocation()
local distance = (role_pos.X - bonfire_pos.X)^2 + (role_pos.Y - bonfire_pos.Y)^2
if distance >= 90000 then
sub_system:SpawnBonfire(role_pos)
return true
end
return false
end
local build_mapping = {
[200001] = BuildBonfire
}
function BuildUtils.Build(wco, item_id)
local build_function = build_mapping[item_id]
return build_function and build_function(wco) or false
end
return BuildUtils