// Copyright © Gamesmiths Guild. using Gamesmiths.Forge.Core; using Gamesmiths.Forge.Statescript; using Gamesmiths.Forge.Statescript.Properties; using Godot; using ForgeNode = Gamesmiths.Forge.Statescript.Node; namespace Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers; /// /// Resolver resource that reads the ability activation magnitude from the /// at runtime. Produces a value. /// [Tool] [GlobalClass] public partial class MagnitudeResolverResource : StatescriptResolverResource { /// public override string ResolverTypeId => "Magnitude"; /// public override void BindInput(Graph graph, ForgeNode runtimeNode, string nodeId, byte index) { var propertyName = new StringKey($"__mag_{nodeId}_{index}"); graph.VariableDefinitions.DefineProperty(propertyName, new MagnitudeResolver()); runtimeNode.BindInput(index, propertyName); } /// public override IPropertyResolver BuildResolver(Graph graph) { return new MagnitudeResolver(); } }