掌握冰霜行者:探索控制台命令的神秘世界
local world = TheWorld
local map = world.Map
if inst.frost_walker_table == nil then
inst.frost_walker_table = {}
end
local function DestroyIce(inst, x, y, z, tile_x, tile_y )
world.components.oceanicmanager:QueueDestroyForIceAtPoint(x, y, z)
inst.frost_walker_table[tostring(tile_x)..tostring(tile_y)]:Cancel()
inst.frost_walker_table[tostring(tile_x)..tostring(tile_y)] = nil
end
local function OnUpdate(inst)
local x, y, z = inst.Transform:GetWorldPosition()
local tile_x, tile_y = map:GetTileCoordsAtPoint(x, y, z)
if not (IsOceanTile(map:GetTile(tile_x, tile_y)) or map:GetTile(tile_x, tile_y) == WORLD_TILES.OCEAN_ICE) then
return
end
if map:GetTile(tile_x, tile_y) ~= WORLD_TILES.OCEAN_ICE then
world.components.oceanicmanager:CreateIceAtPoint(x, y, z)
end
if inst.frost_walker_table[tostring(tile_x)..tostring(tile_y)] ~= nil then
inst.frost_walker_table[tostring(tile_x)..tostring(tile_y)]:Cancel()
end
inst.frost_walker_table[tostring(tile_x)..tostring(tile_y)] = inst:DoTaskInTime(1, DestroyIce, x, y, z, tile_x, tile_y )
end
if inst.frost_walker_task == nil then
inst.frost_walker_task = inst:DoPeriodicTask(FRAMES, OnUpdate, 0)
else
inst.frost_walker_task:Cancel()
inst.frost_walker_task = nil
end
相关游戏资讯
玩家评论
猜你喜欢内容
热门推荐
热门软件
专题推荐
发表评论