示例#1
0
        private static void AddProcessors(InputControl control, ref InputControlLayout.ControlItem controlItem, string layoutName)
        {
            var processorCount = controlItem.processors.Count;

            for (var n = 0; n < processorCount; ++n)
            {
                var name = controlItem.processors[n].name;
                var type = InputControlProcessor.s_Processors.LookupTypeRegistration(name);
                if (type == null)
                {
                    throw new Exception(
                              string.Format("Cannot find processor '{0}' referenced by control '{1}' in layout '{2}'", name,
                                            controlItem.name, layoutName));
                }

                var processor = Activator.CreateInstance(type);

                var parameters = controlItem.processors[n].parameters;
                if (parameters.Count > 0)
                {
                    SetParameters(processor, parameters);
                }

                control.AddProcessor(processor);
            }
        }