summaryrefslogtreecommitdiff
path: root/examples/resources
diff options
context:
space:
mode:
authorjussi2024-03-17 10:38:30 +0200
committerjussi2024-03-17 10:38:30 +0200
commitae1d0b65f16b24f2e0db39cb8baef4af57b2a12f (patch)
tree80358810635da19821bdb38ece2098c2dd48f1ff /examples/resources
parentca238975dc63d2dddcd2b17ad627bedc95dd158c (diff)
downloadreilua-enhanced-ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f.tar.gz
reilua-enhanced-ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f.tar.bz2
reilua-enhanced-ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f.zip
Round and pubsub lib.
Diffstat (limited to 'examples/resources')
-rw-r--r--examples/resources/lib/color.lua9
-rw-r--r--examples/resources/lib/pubsub.lua34
-rw-r--r--examples/resources/lib/utillib.lua5
3 files changed, 48 insertions, 0 deletions
diff --git a/examples/resources/lib/color.lua b/examples/resources/lib/color.lua
index 9369a34..a508fa3 100644
--- a/examples/resources/lib/color.lua
+++ b/examples/resources/lib/color.lua
@@ -144,4 +144,13 @@ function Color:alphaBlend( dst, src, tint )
return Color:new( RL.ColorAlphaBlend( dst, src, tint ) )
end
+function Color:lerp( color, amount )
+ return Color:new(
+ RL.Lerp( self.r, color.r, amount ),
+ RL.Lerp( self.g, color.g, amount ),
+ RL.Lerp( self.b, color.b, amount ),
+ RL.Lerp( self.a, color.a, amount )
+ )
+end
+
return Color
diff --git a/examples/resources/lib/pubsub.lua b/examples/resources/lib/pubsub.lua
new file mode 100644
index 0000000..2847d92
--- /dev/null
+++ b/examples/resources/lib/pubsub.lua
@@ -0,0 +1,34 @@
+local PubSub = {}
+PubSub.__index = PubSub
+
+function PubSub:new()
+ local object = setmetatable( {}, self )
+
+ object.signals = {}
+
+ return object
+end
+
+function PubSub:add( name )
+ self.signals[ name ] = {}
+end
+
+function PubSub:subscribe( name, func )
+ table.insert( self.signals[ name ], func )
+end
+
+function PubSub:unSubscribe( name, uFunc )
+ for i, func in ipairs( self.signals[ name ] ) do
+ if func == uFunc then
+ table.remove( self.signals[ name ], i )
+ end
+ end
+end
+
+function PubSub:publish( name, ... )
+ for _, func in ipairs( self.signals[ name ] ) do
+ func( ... )
+ end
+end
+
+return PubSub
diff --git a/examples/resources/lib/utillib.lua b/examples/resources/lib/utillib.lua
index 0b54e12..73bb11c 100644
--- a/examples/resources/lib/utillib.lua
+++ b/examples/resources/lib/utillib.lua
@@ -1,5 +1,10 @@
-- Define useful global functions.
+-- For luaJit compatibility.
+if table.unpack == nil then
+ table.unpack = unpack
+end
+
local utillib = {}
function utillib.tableClone( org )