ApiParser.ApiParser.ParseParameters C# (CSharp) Method

ParseParameters() private static method

private static ParseParameters ( UnityApiEventFunction eventFunction, ApiNode signature, ApiNode details, string owningMessageNamespace, string argumentNames ) : void
eventFunction UnityApiEventFunction
signature ApiNode
details ApiNode
owningMessageNamespace string
argumentNames string
return void
        private static void ParseParameters(UnityApiEventFunction  eventFunction, ApiNode signature, ApiNode details, string owningMessageNamespace, string[] argumentNames)
        {
            // E.g. OnCollisionExit2D(Collision2D) - doesn't always include the argument name
            // Hopefully, we parsed the argument name from the example
            var argumentString = SigRegex.Replace(signature.Text, "$2$3");
            if (string.IsNullOrWhiteSpace(argumentString)) return;

            var argumentStrings = argumentString.Split(',')
                .Select(s => s.Trim())
                .ToArray();
            var total = argumentStrings.Length;
            var arguments = argumentStrings.Select((s, i) => new Argument(s, i, total, owningMessageNamespace)).ToArray();

            ResolveArguments(details, arguments, argumentNames);

            foreach (var argument in arguments)
                eventFunction.AddParameter(argument.Name, argument.Type, argument.Description);
        }