Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 7

singleton into global scope

I am trying to add singleton object into globalScope to use it across the app (scene graph). While adding object into globalScope I can see that it is only doing shallow copy but deep copy. My object looks like this

I have created global variable in main.brs

And then initializing this singleton Object in first (parent) scene.

if = invalid then
  singletonObject = {
      init: function()
        m.counter = 0
        m.childObject = invalid
      end function

      doSomething: function()
        print "doing something"
      end function


  print singletonObject{"singletonObject": singletonObject})

 'after adding everything in the global scope, all the prop and function of singletonObject are invalid. 
end if

NOTE: I can access property values but not the functions. Function defined in the singleton object are treated as properties and underlying structure is NEVER copied.
0 Kudos
1 REPLY 1\
Level 11

Re: singleton into global scope

True to form - node field assignments get deep copied and Brightscript first-class functions are NOT supported by Roku scenography. 

See also
0 Kudos