예제 #1
0
        public static bool Initialize()
        {
            if (!initialized)
            {
                KISasm = AssemblyLoader.loadedAssemblies.Where(a => a.assembly.GetName().Name.Equals("KIS", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
                if (KISasm == null)
                {
                    return(false);
                }
                KISAddonConfig_class = KISasm.assembly.GetTypes().Where(t => t.Name.Equals("KISAddonConfig")).FirstOrDefault();
                if (KISAddonConfig_class == null)
                {
                    return(false);
                }
                kis_AddPodInventories = KISAddonConfig_class.GetMethod("AddPodInventories", BindingFlags.Public | BindingFlags.Static);
                if (kis_AddPodInventories == null)
                {
                    return(false);
                }

                AddPodInventories = (AddPodInventoriesDelegate)Delegate.CreateDelegate(typeof(AddPodInventoriesDelegate), null, kis_AddPodInventories);
                initialized       = true;
            }
            return(AddPodInventories != null);
        }
예제 #2
0
        public static void InitClass(Assembly kisAssembly)
        {
            typeKISAddonConfig = kisAssembly.GetTypes().Where(t => t.Name.Equals("KISAddonConfig")).FirstOrDefault();
            if (typeKISAddonConfig == null)
            {
                return;
            }
            miAddPodInventories = typeKISAddonConfig.GetMethod("AddPodInventories", BindingFlags.Public | BindingFlags.Static);
            if (miAddPodInventories == null)
            {
                return;
            }

            addInventories = (AddPodInventoriesDelegate)Delegate.CreateDelegate(typeof(AddPodInventoriesDelegate), null, miAddPodInventories);
        }