luxe: toggle
Toggle
Section titled “Toggle”import "luxe: toggle" for Toggleimport "luxe: toggle" for Toggle//set up variablesvar toggle = Toggle.create()var handle = Strings.add("A")//set up valueToggle.set(toggle, handle, true)Log.print("value: %(Toggle.get(toggle, handle))") //trueToggle.set(toggle, handle, false) //turn off onceToggle.set(toggle, handle, false) //turn off twiceToggle.set(toggle, handle, true) //turn on once//still false here because toggle counts amount of times turned offLog.print("value: %(Toggle.get(toggle, handle))")
Toggle.create(.)
Section titled “Toggle.create(.)”Toggle.create() : ToggleCreate a new
Toggleinstance.
Toggle.valid(.)
Section titled “Toggle.valid(.)”Toggle.valid(toggle : Toggle) : BoolDoes the toggle instance exists.
Toggle.destroy(.)
Section titled “Toggle.destroy(.)”Toggle.destroy(toggle : Toggle) : NoneDestroy the toggle instance and associated data.
Toggle.set(…)
Section titled “Toggle.set(…)”Toggle.set(toggle : Toggle, handle : Num, state : Bool) : NoneTurn the value associated with a handle on or off. This counts how often its been turned off and has to be turned on again as often to be counted as on again.
turn off(state = false) ->turn off->turn on-> get state isfalse, even though last action was setting it totrue, but the internal “off count” is still at 1.The internal “off count” is never less than 0.
Toggle.get(..)
Section titled “Toggle.get(..)”Toggle.get(toggle : Toggle, handle : Num) : BoolCheck the state of the handle.
Toggle.get(.)
Section titled “Toggle.get(.)”Toggle.get(toggle : Toggle) : BoolGet if all handles are
true/on. Returnsfalseif any arefalse.
Toggle.filter(..)
Section titled “Toggle.filter(..)”Toggle.filter(toggle : Toggle, handles : List) : ListTakes a list of handles and returns those that are
truein theToggle.
Toggle.link(…)
Section titled “Toggle.link(…)”Toggle.link(toggle : Toggle, from_handle : Num, to_handle : Num) : NoneLinks two values, so that the
from_handlevalue will be consideredfalseif any of theto_handlevalues associated with it arefalse. Recursive links will not be taken into consideration. One handle can be linked to a maximum of 8 other values. Both handles have to be set at least once before for the link to be created.import "luxe: toggle" for Toggle//set up variablesvar toggle = Toggle.create()var handleA = Strings.add("A")var handleB = Strings.add("B")var handleC = Strings.add("C")//set up internal valuesToggle.set(toggle, handleA, true)Toggle.set(toggle, handleB, true)Toggle.set(toggle, handleC, true)//set up linksToggle.link(toggle, handleB, handleA)Toggle.link(toggle, handleC, handleB)//all trueLog.print("A:%(Toggle.get(toggle, handleA)) - B:%(Toggle.get(toggle, handleB)) - C: %(Toggle.get(toggle, handleC))")Toggle.set(toggle, handleA, false)//A is disabled directly, B is disabled by link, but link is not propagated to C, C is still `true`Log.print("A:%(Toggle.get(toggle, handleA)) - B:%(Toggle.get(toggle, handleB)) - C: %(Toggle.get(toggle, handleC))")