初始化提交
This commit is contained in:
29
Content/Lua/GamePlay/Utils/BuildUtils.lua
Normal file
29
Content/Lua/GamePlay/Utils/BuildUtils.lua
Normal file
@ -0,0 +1,29 @@
|
||||
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
|
||||
Reference in New Issue
Block a user