using System; using Babushka.scripts.CSharp.Low_Code.Events; using Godot; namespace Babushka.scripts.CSharp.Low_Code.Randomizer; /// /// A class to randomize the payload value of select types of s. /// public partial class VariantRandomizer : Node { /// /// The event resource to work on. /// [Export] public EventResource _eventResource; /// /// Sets the payload of a randomizable event resource to a random value. /// public void RandomizeEventResource() { switch (_eventResource.Payload.VariantType) { case Variant.Type.Color: _eventResource.Payload= GetRandomColor(); break; case Variant.Type.Int: _eventResource.Payload= GetRandomInt(); break; case Variant.Type.Float: _eventResource.Payload= GetRandomFloat(); break; } } private Color GetRandomColor() { Random rand = new Random(); return new Color(rand.NextSingle(), rand.NextSingle(), rand.NextSingle(), 1.0f); } private int GetRandomInt() { Random rand = new Random(); return rand.Next(); } private float GetRandomFloat() { Random rand = new Random(); return rand.NextSingle(); } }