Avoid array allocation when signal have 0 arg

This commit is contained in:
DE YU
2025-04-06 16:02:35 +08:00
parent a210fe6dbd
commit af67fb1f62

View File

@ -48,12 +48,19 @@ namespace Godot
awaiter._completed = true;
Variant[] signalArgs = new Variant[argCount];
if (argCount > 0)
{
Variant[] signalArgs = new Variant[argCount];
for (int i = 0; i < argCount; i++)
signalArgs[i] = Variant.CreateCopyingBorrowed(*args[i]);
for (int i = 0; i < argCount; i++)
signalArgs[i] = Variant.CreateCopyingBorrowed(*args[i]);
awaiter._result = signalArgs;
awaiter._result = signalArgs;
}
else
{
awaiter._result = [];
}
awaiter._continuation?.Invoke();
}