@@ -24,6 +24,8 @@ local Node = {}
2424-- Version number
2525local VERSION = ' 1.1'
2626
27+ local env = getfenv (2 )
28+
2729local ease_table = {}
2830local func_table = {}
2931local msg_table = {}
@@ -36,7 +38,7 @@ local function UpdateEases()
3638 for i , v in ipairs (ease_table ) do
3739 local actor
3840 if type (v [1 ]) == ' string' then
39- actor = _G . sudo [v [1 ]]
41+ actor = env [v [1 ]]
4042 else
4143 actor = v [1 ]
4244 end
@@ -61,7 +63,7 @@ local function UpdateFuncs()
6163 for i , v in ipairs (func_table ) do
6264 local actor
6365 if type (v [1 ]) == ' string' then
64- actor = _G . sudo [v [1 ]]
66+ actor = env [v [1 ]]
6567 else
6668 actor = v [1 ]
6769 end
@@ -88,6 +90,11 @@ local function UpdateSignals()
8890 end
8991end
9092
93+ local function GetActor (this )
94+ for i , v in ipairs (Node .GetTree ()) do
95+ if v .Name == this then return v end
96+ end
97+ end
9198local NodeTree = Def .ActorFrame {
9299 InitCommand = function (self )
93100 local s = self
@@ -96,7 +103,7 @@ local NodeTree = Def.ActorFrame {
96103 local function NameActors (actor )
97104 for i = 1 , actor :GetNumChildren () do
98105 local this = actor :GetChildAt (i )
99- _G . sudo [this :GetName ()] = this
106+ env [this :GetName ()] = this
100107 if this .GetChildren then NameActors (this ) end
101108 end
102109 end
213220local function SetName (self , name )
214221 -- print('Node:SetName')
215222 self .Name = name
216- -- _G.sudo [name] = self
223+ -- env [name] = self
217224 return self
218225end
219226local function SetTexture (self , path )
@@ -328,9 +335,9 @@ local function AddChild(self, child, idx, name)
328335 return self
329336end
330337local function GetChildIndex (self , name )
331- -- print('Node:GetChildIndex')
338+ print (' Node:GetChildIndex' )
332339 if self .Type ~= ' ActorFrame' and self .Type ~= ' ActorFrameTexture' then
333- printerr (' Node.AddChild : Cannot add child to type ' .. self .Type )
340+ printerr (' Node.GetChildIndex : Cannot add child to type ' .. self .Type )
334341 return
335342 end
336343 for i , v in ipairs (self ) do
@@ -339,6 +346,19 @@ local function GetChildIndex(self, name)
339346 end
340347 end
341348end
349+ local function HideOverlay (b )
350+ if not std .SCREEN .HideGameplayElements then return end
351+ if b == nil then
352+ printerr (' Node.HideOverlay: Must have boolean argument' )
353+ return
354+ elseif type (b ) ~= ' boolean' then
355+ printerr (' Node.HideOverlay: Argument must be boolean' )
356+ return
357+ end
358+ if b then
359+ std .SCREEN :HideGameplayElements ()
360+ end
361+ end
342362local function AddToTree (self , idx , name )
343363 -- print('Node:AddToTree')
344364 if type (idx ) == ' string' then
@@ -355,26 +375,6 @@ local function AddToTree(self, idx, name)
355375 end
356376 return self
357377end
358- local function GetOverlay ()
359- local ret = {}
360- ret [# ret + 1 ] = std .SCREEN :GetChild (' Underlay' )
361- for i = 1 , # std .PL do
362- ret [# ret + 1 ] = std .PL [i ].Life
363- ret [# ret + 1 ] = std .PL [i ].Score
364- end
365- ret [# ret + 1 ] = std .SCREEN :GetChild (' Overlay' )
366- return ret
367- end
368- local function HideOverlay (b )
369- -- print('Node.HideOverlay')
370- if type (b ) == ' boolean' then
371- for _ , v in ipairs (GetOverlay ()) do
372- v :visible (tobool (not b ))
373- end
374- else
375- printerr (' Node.HideOverlay: argument must be boolean value' )
376- end
377- end
378378local function GetTree ()
379379 -- print('Node.GetTree')
380380 return NodeTree
@@ -404,11 +404,10 @@ Node = {
404404 SetDraw = SetDraw ,
405405 AddChild = AddChild ,
406406 GetChildIndex = GetChildIndex ,
407- AddToTree = AddToTree ,
408- GetOverlay = GetOverlay ,
409407 HideOverlay = HideOverlay ,
408+ AddToTree = AddToTree ,
410409 GetTree = GetTree ,
411- GetActor = function ( this ) printerr ( ' Node. GetActor: Function not available before ready() ' ) end ,
410+ GetActor = GetActor ,
412411}
413412Node .__index = Node
414413
0 commit comments