Files
MovementTests/addons/forge/resources/statescript/resolvers/RandomResolverResource.cs
Minimata e09714cf83
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 27s
Create tag and build when new code gets to main / Export (push) Successful in 7m25s
update forge
2026-05-17 00:06:44 +02:00

46 lines
1.1 KiB
C#

// Copyright © Gamesmiths Guild.
using Gamesmiths.Forge.Godot.Core;
using Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers.Bases;
using Gamesmiths.Forge.Statescript;
using Gamesmiths.Forge.Statescript.Properties;
using Godot;
namespace Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers;
[Tool]
[GlobalClass]
public partial class RandomResolverResource : BinaryNestedResolverResourceBase
{
[Export]
public StatescriptVariableType ValueType { get; set; } = StatescriptVariableType.Int;
[Export]
public bool MinFolded { get; set; }
[Export]
public bool MaxFolded { get; set; }
[Export]
public bool IsMaxInclusive { get; set; } = true;
[Export]
public bool InclusiveMaxFolded { get; set; } = true;
public override string ResolverTypeId => "Random";
protected override string PropertyNamePrefix => "__random";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new RandomResolver(
new ForgeRandom(),
leftResolver,
rightResolver,
IsMaxInclusive);
}
}