Beginning input manager implementation
parent
4d961d21f5
commit
a072ae4690
7
api.lua
7
api.lua
|
@ -3,6 +3,7 @@ arena_lib.arenas = {}
|
|||
arena_lib.mod_name = minetest.get_current_modname()
|
||||
|
||||
dofile(minetest.get_modpath(arena_lib.mod_name) .. "/arena_lib/debug_utilities.lua")
|
||||
dofile(minetest.get_modpath(arena_lib.mod_name) .. "/arena_lib/input_manager.lua")
|
||||
dofile(minetest.get_modpath(arena_lib.mod_name) .. "/arena_lib/items.lua")
|
||||
dofile(minetest.get_modpath(arena_lib.mod_name) .. "/arena_lib/player_manager.lua")
|
||||
dofile(minetest.get_modpath(arena_lib.mod_name) .. "/arena_lib/signs.lua")
|
||||
|
@ -561,6 +562,12 @@ end
|
|||
|
||||
|
||||
|
||||
function arena_lib.get_players_in_game()
|
||||
return players_in_game
|
||||
end
|
||||
|
||||
|
||||
|
||||
function arena_lib.get_arenaID_by_player(p_name)
|
||||
return players_in_game[p_name]
|
||||
end
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
local players_jumping = {} --KEY: player, VALUE: boolean
|
||||
|
||||
--Hopefully waiting on https://github.com/minetest/minetest/issues/9626, in the meanwhile..
|
||||
minetest.register_globalstep(function(dtime)
|
||||
|
||||
for pl_name, id in pairs(arena_lib.get_players_in_game()) do
|
||||
|
||||
local pl = minetest.get_player_by_name(pl_name)
|
||||
|
||||
if pl:get_player_control().aux1 then
|
||||
arena_lib.on_AUX1_pressed(pl)
|
||||
end
|
||||
|
||||
-- L'handler del salto non è perfetto ed è stata aperta una issue qui: https://github.com/minetest/minetest/issues/9631
|
||||
-- preferisco tenerlo disattivato al momento piuttosto che computare cose inutili
|
||||
--[[
|
||||
if pl:get_player_control().jump and pl:get_hp() > 0 and not players_jumping[pl_name] then
|
||||
|
||||
local pos = pl:get_pos()
|
||||
local pos_feet = {x = pos.x, y = pos.y-0.501, z = pos.z}
|
||||
local drawtype = minetest.registered_nodes[minetest.get_node(pos_feet).name]["drawtype"]
|
||||
|
||||
if drawtype ~= "normal" and drawtype ~= "glasslike" and drawtype ~= "nodebox" then return end
|
||||
players_jumping[pl_name] = true
|
||||
|
||||
arena_lib.on_jump(pl)
|
||||
|
||||
minetest.after(0.2, function()
|
||||
players_jumping[pl_name] = false
|
||||
end)
|
||||
end]]
|
||||
|
||||
end
|
||||
end)
|
||||
|
||||
|
||||
|
||||
function arena_lib.on_AUX1_pressed(pl)
|
||||
--Override me
|
||||
end
|
||||
|
||||
|
||||
|
||||
function arena_lib.on_jump(player)
|
||||
--Override me
|
||||
end
|
||||
|
||||
|
||||
|
||||
function arena_lib.register_player_inputs(p_name)
|
||||
players_jumping[p_name] = false
|
||||
end
|
||||
|
||||
|
||||
|
||||
--[[function arena_lib.is_player_jumping(p_name)
|
||||
if players_jumping[p_name] then return true
|
||||
else return false
|
||||
end
|
||||
end]]
|
Loading…
Reference in New Issue