Files
MovementTests/addons/forge/resources/statescript/NumericCoercionResolver.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

21 lines
650 B
C#

// Copyright © Gamesmiths Guild.
using System;
using Gamesmiths.Forge.Statescript;
using Gamesmiths.Forge.Statescript.Properties;
namespace Gamesmiths.Forge.Godot.Resources.Statescript;
internal sealed class NumericCoercionResolver(IPropertyResolver innerResolver, Type targetType) : IPropertyResolver
{
private readonly IPropertyResolver _innerResolver = innerResolver;
public Type ValueType { get; } = targetType;
public Variant128 Resolve(GraphContext graphContext)
{
Variant128 sourceValue = _innerResolver.Resolve(graphContext);
return StatescriptNumericCompatibility.Coerce(sourceValue, _innerResolver.ValueType, ValueType);
}
}