add 'on_physics_update' entity event

This commit is contained in:
MihailRis
2025-08-13 21:29:20 +03:00
parent b60f0f0ea2
commit 6d3dac9106
6 changed files with 42 additions and 3 deletions
+17
View File
@@ -125,6 +125,23 @@ return {
::continue::
end
end,
physics_update = function(tps, parts, part)
for uid, entity in pairs(entities) do
if uid % parts ~= part then
goto continue
end
for _, component in pairs(entity.components) do
local callback = component.on_physics_update
if not component.__disabled and callback then
local result, err = pcall(callback, tps)
if err then
debug.error(err)
end
end
end
::continue::
end
end,
render = function(delta)
for _,entity in pairs(entities) do
for _, component in pairs(entity.components) do
+2 -2
View File
@@ -18,7 +18,7 @@ end
def_prop("jump_force", 0.0)
def_prop("air_damping", 1.0)
def_prop("ground_damping", 1.0)
def_prop("movement_speed", 4.0)
def_prop("movement_speed", 3.0)
def_prop("run_speed_mul", 1.5)
def_prop("crouch_speed_mul", 0.35)
def_prop("flight_speed_mul", 4.0)
@@ -56,7 +56,7 @@ function move_horizontal(speed, dir, vel)
body:set_vel(vel)
end
function on_update(tps)
function on_physics_update(tps)
local delta = (1.0 / tps)
local pid = entity:get_player()
if pid and hud and not hud.is_inventory_open() and not menu.page ~= "" then