Beat Rail Synchronization
using { /Fortnite.com/Devices }
using { /Verse.org/Colors }
using { /Verse.org/Colors/NamedColors }
beat_rail_device := class(creative_device):
Colors:[]color=array{Red, Yellow, Green, Teal, Blue, BlueViolet}
@editable
Grind:grind_rail_device=grind_rail_device{}
@editable
Beat:trigger_device=trigger_device{}
var Index:int = 0
var Current:color = Red
NextInt():int=
if(Index=5): # or Colors.Length-1
return 0
else:
return Index+1
OnBegin<override>()<suspends>:void=
Beat.TriggeredEvent.Subscribe(ChangeColor)
ChangeColor(Agent:?agent):void=
set Index = NextInt()
if(set Current = Colors[Index]){}
Grind.SetRailColor(Current)