29 lines
925 B
C#
29 lines
925 B
C#
// 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)));
|
|
}
|
|
}
|