Exemple #1
0
        /// <summary>
        /// Run a specific interface function.
        /// </summary>
        /// <typeparam name="T">Type of payload to pass along.</typeparam>
        /// <param name="function">Function to run.</param>
        /// <param name="payload">Payload to pass along to the run function.</param>
        public static void RunInterfaceFunction <T>(InterfaceFunction function, T payload)
        {
            switch (function)
            {
            // IFlimsyModule
            case InterfaceFunction.Module_RegisterRoutes:
                foreach (var cls in GetInterfaceClasses <IFlimsyModule>())
                {
                    var instance = Activator.CreateInstance(cls) as IFlimsyModule;

                    if (instance == null)
                    {
                        throw new Exception(
                                  string.Format(
                                      "Could not create instance of {0}",
                                      cls.FullName));
                    }

                    switch (function)
                    {
                    // RegisterRoutes
                    case InterfaceFunction.Module_RegisterRoutes:
                        instance.RegisterRoutes((dynamic)payload);
                        break;
                    }
                }

                break;

            case InterfaceFunction.Logger_NewEntry:
                // TODO !!!
                break;
            }
        }
Exemple #2
0
 public InterfaceFunctionView(InterfaceFunction function, InterfaceData owner)
 {
     this.owner              = owner;
     this.function           = function;
     title                   = $"{function.name}({ string.Join(", ", function.parameters.Select(p => p.type.DisplayName(false, false))) }) : {function.returnType.DisplayName(false, false)}";
     titleIcon.image         = uNodeEditorUtility.GetTypeIcon(typeof(TypeIcons.MethodIcon));
     expandedElement.visible = false;
 }