From 31548284093de856a3a8308c3c8635780fcbeb67 Mon Sep 17 00:00:00 2001 From: Jon Manning Date: Tue, 21 May 2024 14:23:32 +1000 Subject: [PATCH] Remove IActionRegistration methods with user-specified return type --- Editor/Analysis/Action.cs | 10 +-- Runtime/Commands/DefaultActions.cs | 2 +- Runtime/IActionRegistration.cs | 73 ++++++++++++------ .../YarnSpinner.Unity.SourceCodeGenerator.dll | Bin 97280 -> 97280 bytes .../DialogueViewTests/LineViewTests.cs | 2 +- .../Runtime/EndToEndTests/EndToEndUtility.cs | 2 +- 6 files changed, 53 insertions(+), 36 deletions(-) diff --git a/Editor/Analysis/Action.cs b/Editor/Analysis/Action.cs index 3f945a6b..4485cba3 100644 --- a/Editor/Analysis/Action.cs +++ b/Editor/Analysis/Action.cs @@ -385,7 +385,7 @@ public SyntaxNode GetRegistrationSyntax(string dialogueRunnerVariableName = "dia return SyntaxFactory.ParseTypeName(t.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)); }); - // If this is a function, or a command whose method returns a value, we also need to include the return type in + // If this is a function, we also need to include the return type in // this list. if (Type == ActionType.Function) { @@ -393,14 +393,6 @@ public SyntaxNode GetRegistrationSyntax(string dialogueRunnerVariableName = "dia typeArguments = typeArguments.Append(SyntaxFactory.ParseTypeName(returnType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat))); } - if (Type == ActionType.Command) { - var returnType = (MethodSymbol as IMethodSymbol)?.ReturnType; - - // If the command has a return type, and it's not void, add it to the list of type parameters - if (returnType != null && returnType.SpecialType != SpecialType.System_Void) { - typeArguments = typeArguments.Append(SyntaxFactory.ParseTypeName(returnType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat))); - } - } if (typeArguments.Any() && MethodSymbol?.IsStatic == true) { diff --git a/Runtime/Commands/DefaultActions.cs b/Runtime/Commands/DefaultActions.cs index 7dacef33..041fefac 100644 --- a/Runtime/Commands/DefaultActions.cs +++ b/Runtime/Commands/DefaultActions.cs @@ -31,7 +31,7 @@ public static void AddRegisterFunction() { public static void RegisterActions(IActionRegistration target, RegistrationType registrationType) { // Register the built-in methods and commands from Yarn Spinner for Unity. - target.AddCommandHandler("wait", Wait); + target.AddCommandHandler("wait", Wait); } #region Commands diff --git a/Runtime/IActionRegistration.cs b/Runtime/IActionRegistration.cs index 6e74c00c..e64f1900 100644 --- a/Runtime/IActionRegistration.cs +++ b/Runtime/IActionRegistration.cs @@ -88,30 +88,7 @@ public interface IActionRegistration { } public static class ActionRegistrationExtension { - // GYB10 START - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - /// - public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); - // GYB10 END + /// public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Action handler) => registration.AddCommandHandler(commandName, (Delegate)handler); @@ -139,6 +116,54 @@ public static class ActionRegistrationExtension { public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Action handler) => registration.AddCommandHandler(commandName, (Delegate)handler); // GYB11 END + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + + #if USE_UNITASK + + /// + public static void AddCommandHandler<(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + /// + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); + // GYB11 END + + #endif + public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); /// public static void AddCommandHandler(this IActionRegistration registration, string commandName, System.Func handler) => registration.AddCommandHandler(commandName, (Delegate)handler); diff --git a/SourceGenerator/YarnSpinner.Unity.SourceCodeGenerator.dll b/SourceGenerator/YarnSpinner.Unity.SourceCodeGenerator.dll index 3d75609dfacdfd7eb4aafb9b409fa84ab8ca4426..0de2c25fe817f86808d5a6d3471d9f9cd67e1c91 100644 GIT binary patch delta 26606 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 delta 26734 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 WG`B~10l@(R3^BJ6dI9eNkuV2rOV#}V diff --git a/Tests/Runtime/DialogueViewTests/LineViewTests.cs b/Tests/Runtime/DialogueViewTests/LineViewTests.cs index 053c8c85..12edf87e 100644 --- a/Tests/Runtime/DialogueViewTests/LineViewTests.cs +++ b/Tests/Runtime/DialogueViewTests/LineViewTests.cs @@ -11,11 +11,11 @@ namespace Yarn.Unity.Tests using UnityEngine; using UnityEngine.TestTools; using UnityEngine.SceneManagement; + using System; #if USE_UNITASK using Cysharp.Threading.Tasks; using YarnTask = Cysharp.Threading.Tasks.UniTask; - using System; #else using YarnTask = System.Threading.Tasks.Task; #endif diff --git a/Tests/Runtime/EndToEndTests/EndToEndUtility.cs b/Tests/Runtime/EndToEndTests/EndToEndUtility.cs index 7d6db163..8b5c4e1f 100644 --- a/Tests/Runtime/EndToEndTests/EndToEndUtility.cs +++ b/Tests/Runtime/EndToEndTests/EndToEndUtility.cs @@ -145,7 +145,7 @@ await WaitForTaskAsync( public static async YarnTask WaitForTaskAsync(YarnTask task, string? failureMessage = null, int timeoutMilliseconds = 2000) { try { - await task.Wait(TimeSpan.FromMilliseconds(timeoutMilliseconds)); + await YarnAsync.Wait(task, TimeSpan.FromMilliseconds(timeoutMilliseconds)); } catch (TimeoutException timeout) { if (failureMessage == null) { throw;