update forge
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

This commit is contained in:
2026-05-17 00:06:44 +02:00
parent 8b54f00814
commit e09714cf83
473 changed files with 13577 additions and 767 deletions

View File

@@ -0,0 +1,22 @@
// 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 ACosHResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ACosH";
protected override string PropertyNamePrefix => "__acosh";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ACosHResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://ua6xttpaqtx3

View File

@@ -0,0 +1,22 @@
// 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 ACosResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ACos";
protected override string PropertyNamePrefix => "__acos";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ACosResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bq0oh51duv5l8

View File

@@ -0,0 +1,22 @@
// 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 ASinHResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ASinH";
protected override string PropertyNamePrefix => "__asinh";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ASinHResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://c36ndfu5e0bh8

View File

@@ -0,0 +1,22 @@
// 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 ASinResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ASin";
protected override string PropertyNamePrefix => "__asin";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ASinResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://jb4s37nicvyr

View File

@@ -0,0 +1,25 @@
// 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 ATan2ResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ATan2";
protected override string PropertyNamePrefix => "__atan2";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new ATan2Resolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dfq0vlrg7fu83

View File

@@ -0,0 +1,22 @@
// 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 ATanHResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ATanH";
protected override string PropertyNamePrefix => "__atanh";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ATanHResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bqt6be18wb8f8

View File

@@ -0,0 +1,22 @@
// 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 ATanResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ATan";
protected override string PropertyNamePrefix => "__atan";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ATanResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bhmn58hn6c83p

View File

@@ -0,0 +1,22 @@
// 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 AbsResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Abs";
protected override string PropertyNamePrefix => "__abs";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new AbsResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cl5dlem7o8qhh

View File

@@ -68,7 +68,7 @@ public partial class ActivationDataResolverResource : StatescriptResolverResourc
// Define the variable so the data binder's SetVar call succeeds at runtime.
// Check if the variable is already defined to avoid duplicates when multiple nodes bind the same field.
var alreadyDefined = false;
bool alreadyDefined = false;
foreach (VariableDefinition existing in graph.VariableDefinitions.VariableDefinitions)
{
if (existing.Name == variableName)
@@ -84,6 +84,17 @@ public partial class ActivationDataResolverResource : StatescriptResolverResourc
new VariableDefinition(variableName, default, clrType));
}
if (NeedsNumericInputAdaptation(runtimeNode, index, clrType))
{
DefineAndBindInputProperty(
graph,
runtimeNode,
$"__activation_{nodeId}_{index}",
index,
new VariableResolver(variableName, clrType));
return;
}
runtimeNode.BindInput(index, variableName);
}

View File

@@ -0,0 +1,25 @@
// 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 AddResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Add";
protected override string PropertyNamePrefix => "__add";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new AddResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cm23kjjecsqkk

View File

@@ -0,0 +1,25 @@
// 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 AndResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "And";
protected override string PropertyNamePrefix => "__and";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new AndResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dj6r5ytmvhb10

View File

@@ -0,0 +1,25 @@
// 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 AngleResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Angle";
protected override string PropertyNamePrefix => "__angle";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new AngleResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://jch7nucjdqdx

View File

@@ -0,0 +1,45 @@
// Copyright © Gamesmiths Guild.
using Gamesmiths.Forge.Core;
using Gamesmiths.Forge.Statescript;
using Gamesmiths.Forge.Statescript.Properties;
using Godot;
using Godot.Collections;
using ForgeNode = Gamesmiths.Forge.Statescript.Node;
namespace Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers;
[Tool]
[GlobalClass]
public partial class ArrayVariableResolverResource : StatescriptResolverResource
{
[Export]
public StatescriptVariableType ValueType { get; set; } = StatescriptVariableType.Int;
[Export]
public Array<Variant> ArrayValues { get; set; } = [];
[Export]
public bool IsArrayExpanded { get; set; }
public override string ResolverTypeId => "ArrayVariable";
public override void BindInput(Graph graph, ForgeNode runtimeNode, string nodeId, byte index)
{
var propertyName = new StringKey($"__array_{nodeId}_{index}");
graph.VariableDefinitions.DefineProperty(propertyName, BuildResolver(graph));
runtimeNode.BindInput(index, propertyName);
}
public override IPropertyResolver BuildResolver(Graph graph)
{
var values = new Variant128[ArrayValues.Count];
for (int i = 0; i < ArrayValues.Count; i++)
{
values[i] = StatescriptVariableTypeConverter.GodotVariantToForge(ArrayValues[i], ValueType);
}
return new ArrayVariableResolver(values, StatescriptVariableTypeConverter.ToSystemType(ValueType));
}
}

View File

@@ -0,0 +1 @@
uid://nncg8107buwu

View File

@@ -0,0 +1,22 @@
// 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 CbrtResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Cbrt";
protected override string PropertyNamePrefix => "__cbrt";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new CbrtResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dqus52x4ayvtg

View File

@@ -0,0 +1,25 @@
// 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 CeilResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Ceil";
protected override string PropertyNamePrefix => "__ceil";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
operandResolver = PromoteIntegralResolverToFloatingPoint(
operandResolver,
GetPreferredFloatingPointType(operandResolver));
return new CeilResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://vupt7axu4yjt

View File

@@ -0,0 +1,26 @@
// 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 ClampMagnitudeResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "ClampMagnitude";
protected override string PropertyNamePrefix => "__clampmag";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
rightResolver = AdaptResolverForExpectedType(rightResolver, typeof(float));
return new ClampMagnitudeResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://di6bytena8enu

View File

@@ -0,0 +1,26 @@
// 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 ClampResolverResource : TernaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Clamp";
protected override string PropertyNamePrefix => "__clamp";
protected override IPropertyResolver CreateResolver(
IPropertyResolver firstResolver,
IPropertyResolver secondResolver,
IPropertyResolver thirdResolver,
Graph graph)
{
return new ClampResolver(firstResolver, secondResolver, thirdResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dyc7kddjdolth

View File

@@ -37,6 +37,12 @@ public partial class ComparisonResolverResource : StatescriptResolverResource
[Export]
public StatescriptResolverResource? Right { get; set; }
[Export]
public bool LeftFolded { get; set; }
[Export]
public bool RightFolded { get; set; }
/// <inheritdoc/>
public override void BindInput(Graph graph, ForgeNode runtimeNode, string nodeId, byte index)
{

View File

@@ -0,0 +1,25 @@
// 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 ConcatenateResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Concatenate";
protected override string PropertyNamePrefix => "__concat";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new ConcatenateResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cmrahroqyhao5

View File

@@ -0,0 +1,22 @@
// 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 ConjugateResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Conjugate";
protected override string PropertyNamePrefix => "__conjugate";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ConjugateResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://1v23fvukfbm1

View File

@@ -0,0 +1,25 @@
// 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 CopySignResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "CopySign";
protected override string PropertyNamePrefix => "__copysign";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new CopySignResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cp53wwvh6wtpb

View File

@@ -0,0 +1,22 @@
// 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 CosHResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "CosH";
protected override string PropertyNamePrefix => "__cosh";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new CosHResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://2pul8hguveqr

View File

@@ -0,0 +1,22 @@
// 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 CosResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Cos";
protected override string PropertyNamePrefix => "__cos";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new CosResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bc08ilmh2crkt

View File

@@ -0,0 +1,25 @@
// 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 CrossResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Cross";
protected override string PropertyNamePrefix => "__cross";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new CrossResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cpu33vntj1c34

View File

@@ -0,0 +1,22 @@
// 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 DegToRadResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "DegToRad";
protected override string PropertyNamePrefix => "__degtorad";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new DegToRadResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://c14mxc32u4rrh

View File

@@ -0,0 +1,25 @@
// 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 DistanceResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Distance";
protected override string PropertyNamePrefix => "__distance";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new DistanceResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bq8oi7lr3ome5

View File

@@ -0,0 +1,25 @@
// 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 DistanceSquaredResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "DistanceSquared";
protected override string PropertyNamePrefix => "__dist2";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new DistanceSquaredResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bort1qclaick7

View File

@@ -0,0 +1,25 @@
// 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 DivideResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Divide";
protected override string PropertyNamePrefix => "__divide";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new DivideResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dchlcihlglcdc

View File

@@ -0,0 +1,25 @@
// 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 DotCoordinateResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "DotCoordinate";
protected override string PropertyNamePrefix => "__dotcoordinate";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new DotCoordinateResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://rsttqpktx8kc

View File

@@ -0,0 +1,25 @@
// 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 DotNormalResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "DotNormal";
protected override string PropertyNamePrefix => "__dotnormal";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new DotNormalResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cajc2qaswbj6u

View File

@@ -0,0 +1,25 @@
// 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 DotResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Dot";
protected override string PropertyNamePrefix => "__dot";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new DotResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bw03e7dkf852b

View File

@@ -0,0 +1,22 @@
// Copyright © Gamesmiths Guild.
using System;
using Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers.Bases;
using Gamesmiths.Forge.Statescript.Properties;
using Godot;
namespace Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers;
[Tool]
[GlobalClass]
public partial class EResolverResource : TypedConstantResolverResourceBase
{
public override string ResolverTypeId => "E";
protected override string PropertyNamePrefix => "__e";
protected override IPropertyResolver CreateResolver(Type valueType)
{
return new EResolver(valueType);
}
}

View File

@@ -0,0 +1 @@
uid://q18fgodpw1nh

View File

@@ -0,0 +1,28 @@
// Copyright © Gamesmiths Guild.
using Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers.Bases;
using Gamesmiths.Forge.Statescript;
using Gamesmiths.Forge.Statescript.Properties;
using Godot;
using ForgeEulerOrder = Gamesmiths.Forge.Statescript.Properties.EulerOrder;
namespace Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers;
[Tool]
[GlobalClass]
public partial class EulerAnglesFromQuaternionResolverResource : UnaryNestedResolverResourceBase
{
[Export]
public ForgeEulerOrder Order { get; set; } = ForgeEulerOrder.XYZ;
public override string ResolverTypeId => "EulerAnglesFromQuaternion";
protected override string PropertyNamePrefix => "__eulerfromquat";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new EulerAnglesFromQuaternionResolver(
operandResolver,
new VariantResolver(new Variant128((int)Order), typeof(int)));
}
}

View File

@@ -0,0 +1,22 @@
// 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 ExpResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Exp";
protected override string PropertyNamePrefix => "__exp";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new ExpResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://c5t6w3pvhedbw

View File

@@ -0,0 +1,25 @@
// 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 FloorResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Floor";
protected override string PropertyNamePrefix => "__floor";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
operandResolver = PromoteIntegralResolverToFloatingPoint(
operandResolver,
GetPreferredFloatingPointType(operandResolver));
return new FloorResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://yfw58s1q18vm

View File

@@ -0,0 +1,22 @@
// 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 InverseResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Inverse";
protected override string PropertyNamePrefix => "__inverse";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new InverseResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bkgn2wskesfre

View File

@@ -0,0 +1,22 @@
// 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 LengthResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Length";
protected override string PropertyNamePrefix => "__length";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new LengthResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://diqyhlprfb1yn

View File

@@ -0,0 +1,22 @@
// 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 LengthSquaredResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "LengthSquared";
protected override string PropertyNamePrefix => "__length2";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new LengthSquaredResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dc60ghgb0kgth

View File

@@ -0,0 +1,39 @@
// Copyright © Gamesmiths Guild.
using System;
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 LerpResolverResource : TernaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Lerp";
protected override string PropertyNamePrefix => "__lerp";
protected override IPropertyResolver CreateResolver(
IPropertyResolver firstResolver,
IPropertyResolver secondResolver,
IPropertyResolver thirdResolver,
Graph graph)
{
if (IsVectorOrQuaternionType(firstResolver.ValueType) || IsVectorOrQuaternionType(secondResolver.ValueType))
{
thirdResolver = AdaptResolverForExpectedType(thirdResolver, typeof(float));
}
else
{
Type preferredFloatingType = GetPreferredFloatingPointType(firstResolver, secondResolver, thirdResolver);
firstResolver = PromoteIntegralResolverToFloatingPoint(firstResolver, preferredFloatingType);
secondResolver = PromoteIntegralResolverToFloatingPoint(secondResolver, preferredFloatingType);
thirdResolver = PromoteIntegralResolverToFloatingPoint(thirdResolver, preferredFloatingType);
}
return new LerpResolver(firstResolver, secondResolver, thirdResolver);
}
}

View File

@@ -0,0 +1 @@
uid://dc3avdnhexa2q

View File

@@ -0,0 +1,22 @@
// 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 Log10ResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Log10";
protected override string PropertyNamePrefix => "__log10";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new Log10Resolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://coqk8brmbdtdb

View File

@@ -0,0 +1,22 @@
// 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 Log2ResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Log2";
protected override string PropertyNamePrefix => "__log2";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new Log2Resolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bgnylfxdn6q57

View File

@@ -0,0 +1,22 @@
// 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 LogResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Log";
protected override string PropertyNamePrefix => "__log";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new LogResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://c47kw60drqkla

View File

@@ -0,0 +1,26 @@
// 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 LookAtResolverResource : TernaryNestedResolverResourceBase
{
public override string ResolverTypeId => "LookAt";
protected override string PropertyNamePrefix => "__lookat";
protected override IPropertyResolver CreateResolver(
IPropertyResolver firstResolver,
IPropertyResolver secondResolver,
IPropertyResolver thirdResolver,
Graph graph)
{
return new LookAtResolver(firstResolver, secondResolver, thirdResolver);
}
}

View File

@@ -0,0 +1 @@
uid://cx7fcmcwooyuf

View File

@@ -0,0 +1,25 @@
// 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 MaxResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Max";
protected override string PropertyNamePrefix => "__max";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new MaxResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://qwceer0fwycl

View File

@@ -0,0 +1,25 @@
// 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 MinResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Min";
protected override string PropertyNamePrefix => "__min";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new MinResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://eifyl705u3gv

View File

@@ -0,0 +1,25 @@
// 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 ModuloResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Modulo";
protected override string PropertyNamePrefix => "__modulo";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new ModuloResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://uff681gfceto

View File

@@ -0,0 +1,34 @@
// 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);
}
}

View File

@@ -0,0 +1 @@
uid://b8h5iv8btpf2m

View File

@@ -0,0 +1,25 @@
// 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 MultiplyResolverResource : BinaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Multiply";
protected override string PropertyNamePrefix => "__multiply";
protected override IPropertyResolver CreateResolver(
IPropertyResolver leftResolver,
IPropertyResolver rightResolver,
Graph graph)
{
return new MultiplyResolver(leftResolver, rightResolver);
}
}

View File

@@ -0,0 +1 @@
uid://bls6qlyxbp0wo

View File

@@ -0,0 +1,22 @@
// 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 NegatePassthroughResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Negate";
protected override string PropertyNamePrefix => "__negate";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new NegateResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://b4ww17f4de06r

View File

@@ -0,0 +1,22 @@
// 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 NormalizeResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Normalize";
protected override string PropertyNamePrefix => "__normalize";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new NormalizeResolver(operandResolver);
}
}

View File

@@ -0,0 +1 @@
uid://xn6ql5lnbu0l

View File

@@ -0,0 +1,27 @@
// 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 NotResolverResource : UnaryNestedResolverResourceBase
{
public override string ResolverTypeId => "Not";
protected override string PropertyNamePrefix => "__not";
protected override IPropertyResolver CreateResolver(IPropertyResolver operandResolver, Graph graph)
{
return new NotResolver(operandResolver);
}
protected override IPropertyResolver CreateDefaultOperandResolver()
{
return new VariantResolver(new Variant128(false), typeof(bool));
}
}

View File

@@ -0,0 +1 @@
uid://d1rfllxhfre8x

Some files were not shown because too many files have changed in this diff Show More