mirror of
https://github.com/centau/vide.git
synced 2026-08-20 14:41:37 +00:00
vide.tween added
This commit is contained in:
parent
3faa1ed701
commit
49744ea1c8
4 changed files with 603 additions and 67 deletions
142
src/lib.luau
142
src/lib.luau
|
|
@ -18,6 +18,8 @@ local show = require "./show"
|
|||
local indexes = require "./indexes"
|
||||
local values = require "./values"
|
||||
local spring, update_springs = require "./spring"()
|
||||
-- Initialize the tween module
|
||||
local tween, update_tweens = require "./tween"()
|
||||
local action = require "./action"()
|
||||
local changed = require "./changed"
|
||||
local timeout, update_timeouts = require "./timeout"()
|
||||
|
|
@ -29,92 +31,98 @@ export type Context<T> = context.Context<T>
|
|||
export type context<T> = Context<T>
|
||||
|
||||
local function step(dt: number)
|
||||
if game then debug.profilebegin("VIDE STEP") end
|
||||
if game then debug.profilebegin("VIDE STEP") end
|
||||
|
||||
if game then debug.profilebegin("VIDE SPRING") end
|
||||
update_springs(dt)
|
||||
if game then debug.profileend() end
|
||||
if game then debug.profilebegin("VIDE SPRING") end
|
||||
update_springs(dt)
|
||||
if game then debug.profileend() end
|
||||
|
||||
if game then debug.profilebegin("VIDE SCHEDULER") end
|
||||
update_timeouts(dt)
|
||||
if game then debug.profileend() end
|
||||
-- Added Tween update loop
|
||||
if game then debug.profilebegin("VIDE TWEEN") end
|
||||
update_tweens(dt)
|
||||
if game then debug.profileend() end
|
||||
|
||||
if game then debug.profileend() end
|
||||
if game then debug.profilebegin("VIDE SCHEDULER") end
|
||||
update_timeouts(dt)
|
||||
if game then debug.profileend() end
|
||||
|
||||
if game then debug.profileend() end
|
||||
end
|
||||
|
||||
local stepped = game and game:GetService("RunService").Heartbeat:Connect(function(dt: number)
|
||||
task.defer(step, dt)
|
||||
task.defer(step, dt)
|
||||
end)
|
||||
|
||||
local vide = {
|
||||
version = version,
|
||||
version = version,
|
||||
|
||||
-- core
|
||||
root = root,
|
||||
--branch = branch,
|
||||
mount = mount,
|
||||
create = create,
|
||||
source = source,
|
||||
effect = effect,
|
||||
derive = derive,
|
||||
switch = switch,
|
||||
show = show,
|
||||
indexes = indexes,
|
||||
values = values,
|
||||
-- core
|
||||
root = root,
|
||||
--branch = branch,
|
||||
mount = mount,
|
||||
create = create,
|
||||
source = source,
|
||||
effect = effect,
|
||||
derive = derive,
|
||||
switch = switch,
|
||||
show = show,
|
||||
indexes = indexes,
|
||||
values = values,
|
||||
|
||||
-- util
|
||||
cleanup = cleanup,
|
||||
untrack = untrack,
|
||||
read = read,
|
||||
batch = batch,
|
||||
context = context,
|
||||
-- util
|
||||
cleanup = cleanup,
|
||||
untrack = untrack,
|
||||
read = read,
|
||||
batch = batch,
|
||||
context = context,
|
||||
|
||||
-- animations
|
||||
spring = spring,
|
||||
-- animations
|
||||
spring = spring,
|
||||
tween = tween, -- Exposing tween to the user
|
||||
|
||||
-- actions
|
||||
action = action,
|
||||
changed = changed,
|
||||
-- actions
|
||||
action = action,
|
||||
changed = changed,
|
||||
|
||||
-- flags
|
||||
strict = (nil :: any) :: boolean,
|
||||
defaults = (nil :: any) :: boolean,
|
||||
defer_nested_properties = (nil :: any) :: boolean,
|
||||
-- flags
|
||||
strict = (nil :: any) :: boolean,
|
||||
defaults = (nil :: any) :: boolean,
|
||||
defer_nested_properties = (nil :: any) :: boolean,
|
||||
|
||||
-- temporary
|
||||
apply = function(instance: Instance)
|
||||
return function(props: { [any]: any })
|
||||
apply(instance, props)
|
||||
return instance
|
||||
end
|
||||
end,
|
||||
-- temporary
|
||||
apply = function(instance: Instance)
|
||||
return function(props: { [any]: any })
|
||||
apply(instance, props)
|
||||
return instance
|
||||
end
|
||||
end,
|
||||
|
||||
-- runtime
|
||||
step = function(dt: number)
|
||||
if stepped then
|
||||
stepped:Disconnect()
|
||||
stepped = nil
|
||||
end
|
||||
step(dt)
|
||||
end
|
||||
-- runtime
|
||||
step = function(dt: number)
|
||||
if stepped then
|
||||
stepped:Disconnect()
|
||||
stepped = nil
|
||||
end
|
||||
step(dt)
|
||||
end
|
||||
}
|
||||
|
||||
setmetatable(vide :: any, {
|
||||
__index = function(_, index: unknown): ()
|
||||
if flags[index] == nil then
|
||||
error(`{tostring(index)} is not a valid member of vide`, 0)
|
||||
else
|
||||
return flags[index]
|
||||
end
|
||||
end,
|
||||
__index = function(_, index: unknown): ()
|
||||
if flags[index] == nil then
|
||||
error(`{tostring(index)} is not a valid member of vide`, 0)
|
||||
else
|
||||
return flags[index]
|
||||
end
|
||||
end,
|
||||
|
||||
__newindex = function(_, index: unknown, value: unknown)
|
||||
if flags[index] == nil then
|
||||
error(`{tostring(index)} is not a valid member of vide, 0`)
|
||||
else
|
||||
flags[index] = value
|
||||
end
|
||||
end
|
||||
__newindex = function(_, index: unknown, value: unknown)
|
||||
if flags[index] == nil then
|
||||
error(`{tostring(index)} is not a valid member of vide, 0`)
|
||||
else
|
||||
flags[index] = value
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
return vide
|
||||
return vide
|
||||
Loading…
Add table
Add a link
Reference in a new issue