diff options
| author | jussi | 2024-03-17 10:38:30 +0200 |
|---|---|---|
| committer | jussi | 2024-03-17 10:38:30 +0200 |
| commit | ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f (patch) | |
| tree | 80358810635da19821bdb38ece2098c2dd48f1ff /examples/resources/lib | |
| parent | ca238975dc63d2dddcd2b17ad627bedc95dd158c (diff) | |
| download | reilua-enhanced-ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f.tar.gz reilua-enhanced-ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f.tar.bz2 reilua-enhanced-ae1d0b65f16b24f2e0db39cb8baef4af57b2a12f.zip | |
Round and pubsub lib.
Diffstat (limited to 'examples/resources/lib')
| -rw-r--r-- | examples/resources/lib/color.lua | 9 | ||||
| -rw-r--r-- | examples/resources/lib/pubsub.lua | 34 | ||||
| -rw-r--r-- | examples/resources/lib/utillib.lua | 5 |
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 ) |
