using System; using Babushka.scripts.CSharp.Low_Code.Events; using Babushka.scripts.CSharp.Low_Code.Variables; 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 VariableResource _variableResource; /// /// Sets the payload of a randomizable event resource to a random value. /// public void RandomizeEventResource() { switch (_variableResource.Payload.VariantType) { case Variant.Type.Color: _variableResource.Payload= GetRandomColor(); break; case Variant.Type.Int: _variableResource.Payload= GetRandomInt(); break; case Variant.Type.Float: _variableResource.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(); } }