Create an early scripting engine #2
|
@ -12,32 +12,10 @@ function on_pre_update()
|
|||
print("Lua's pre-update function was called")
|
||||
end ]]
|
||||
|
||||
---
|
||||
---Recursively dumps a table as a string.
|
||||
---
|
||||
---@param obj table
|
||||
---@return string
|
||||
---@nodiscard
|
||||
function dump_table(obj)
|
||||
if type(obj) == 'table' then
|
||||
local s = '{ '
|
||||
for k,v in pairs(obj) do
|
||||
if type(k) ~= 'number' then k = '"'..k..'"' end
|
||||
s = s .. '['..k..'] = ' .. dump_table(v) .. ','
|
||||
end
|
||||
return s .. '} '
|
||||
else
|
||||
return tostring(obj)
|
||||
end
|
||||
end
|
||||
|
||||
function on_update()
|
||||
--print("Lua's update function was called")
|
||||
|
||||
--local v = Vec3:new(50, 10, 20)
|
||||
--print("Vec3 = " .. tostring(v))
|
||||
|
||||
world:view(
|
||||
--[[ world:view(
|
||||
---@param t Transform
|
||||
function (t)
|
||||
print("Found entity at a really cool place: " .. tostring(t))
|
||||
|
@ -46,17 +24,18 @@ function on_update()
|
|||
return t
|
||||
end,
|
||||
Transform
|
||||
)
|
||||
) ]]
|
||||
|
||||
-- local dt = world:resource(DeltaTime)
|
||||
-- --print("DeltaTime was " .. tostring(dt) .. "s")
|
||||
--
|
||||
-- world:view(function (t)
|
||||
-- --print("Found entity at a really cool place: " .. tostring(t))
|
||||
-- t.translation = t.translation + (Vec3.new(0, 0.5, 0) * dt:get())
|
||||
--
|
||||
-- return t
|
||||
-- end, Transform)
|
||||
local dt = world:resource(DeltaTime)
|
||||
--print("DeltaTime was " .. tostring(dt) .. "s")
|
||||
|
||||
world:view(function (t)
|
||||
--print("Found entity at a really cool place: " .. tostring(t))
|
||||
--t.translation = t.translation + (Vec3.new(0, 0.5, 0) * dt:get())
|
||||
t.translation:move_by(0, 0.5 * dt:get(), 0)
|
||||
|
||||
return t
|
||||
end, Transform)
|
||||
end
|
||||
|
||||
--[[ function on_post_update()
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 8b88612890f7d67472b56cd97711bb037198ebf9
|
||||
Subproject commit 2fe5dca6c4337f1528e4671d1f79464481739c61
|
|
@ -54,10 +54,6 @@ impl elua::Userdata for ScriptWorldPtr {
|
|||
|
||||
fn build<'a>(state: &elua::State, builder: &mut elua::UserdataBuilder<'a, Self>) -> elua::Result<()> {
|
||||
builder
|
||||
.method("test", |_, this, ()| {
|
||||
println!("hgello world");
|
||||
Ok(())
|
||||
})
|
||||
.method_mut("spawn", |_, this, bundle: ScriptDynamicBundle| {
|
||||
let world = this.as_mut();
|
||||
|
||||
|
@ -199,7 +195,6 @@ impl elua::Userdata for ScriptWorldPtr {
|
|||
|
||||
let res = reflect.reflect_branch.as_resource_unchecked();
|
||||
if let Some(res_ptr) = res.reflect_ptr(this.as_mut()) {
|
||||
//.expect("Failed to find resource pointer in world!");
|
||||
let reg_type = this.as_ref().get_type::<RegisteredType>(reflect.reflect_branch.reflect_type_id())
|
||||
.unwrap();
|
||||
let proxy = reg_type.get_data::<ReflectLuaProxy>()
|
||||
|
|
Loading…
Reference in New Issue