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

35 lines
1.1 KiB
C#

// Copyright © Gamesmiths Guild.
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 MoveTowardsResolverResource : TernaryNestedResolverResourceBase
{
public override string ResolverTypeId => "MoveTowards";
protected override string PropertyNamePrefix => "__movetowards";
protected override IPropertyResolver CreateResolver(
IPropertyResolver firstResolver,
IPropertyResolver secondResolver,
IPropertyResolver thirdResolver,
Graph graph)
{
if (StatescriptNumericCompatibility.IsNumericType(firstResolver.ValueType)
&& StatescriptNumericCompatibility.IsNumericType(secondResolver.ValueType))
{
firstResolver = AdaptResolverForExpectedType(firstResolver, typeof(float));
secondResolver = AdaptResolverForExpectedType(secondResolver, typeof(float));
}
thirdResolver = AdaptResolverForExpectedType(thirdResolver, typeof(float));
return new MoveTowardsResolver(firstResolver, secondResolver, thirdResolver);
}
}