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

49 lines
1.4 KiB
C#

// Copyright © Gamesmiths Guild.
#if TOOLS
using System;
using Gamesmiths.Forge.Godot.Editor.Statescript.Resolvers.Bases;
using Gamesmiths.Forge.Godot.Resources.Statescript.Resolvers;
using Godot;
using ForgeVariant128 = Gamesmiths.Forge.Statescript.Variant128;
using SysVector2 = System.Numerics.Vector2;
using SysVector3 = System.Numerics.Vector3;
namespace Gamesmiths.Forge.Godot.Editor.Statescript.Resolvers;
[Tool]
internal sealed partial class ReflectResolverEditor : BinaryNestedResolverEditorBase<ReflectResolverResource>
{
public override string DisplayName => "Reflect";
public override string ResolverTypeId => "Reflect";
protected override Type[] FactoryExpectedTypes => [typeof(SysVector2), typeof(SysVector3)];
protected override Type NestedExpectedType => typeof(ForgeVariant128);
protected override string LeftTitle => "Incident:";
protected override string RightTitle => "Normal:";
public override bool IsCompatibleWith(Type expectedType)
{
return expectedType == typeof(ForgeVariant128)
|| expectedType == typeof(SysVector2)
|| expectedType == typeof(SysVector3);
}
protected override Type[] GetFactoryExpectedTypes(Type expectedType)
{
return expectedType == typeof(ForgeVariant128)
? [typeof(SysVector2), typeof(SysVector3)]
: [expectedType];
}
protected override Type GetNestedExpectedType(Type expectedType)
{
return expectedType;
}
}
#endif