Ejemplo n.º 1
0
        public void Initialize(IManager manager, string ipcIdentifier)
        {
            Console.WriteLine($"Initializing ... ({ipcIdentifier})");
            CurrentPlugin.Initialize();
            MaterialUtil.Initialize();
            RendererManager.Initialize();
            try
            {
                CurrentPlugin.Log.Info("Instantiating Harmony Patcher ...");
                HarmonyInstance Harmony = HarmonyInstance.Create("com.REHERC.Transtexturizer");
                CurrentPlugin.Log.Info("Harmony patcher instantiated!");
                CurrentPlugin.Log.Info("Patching assemblies ...");
                Harmony.PatchAll(Assembly.GetExecutingAssembly());
                CurrentPlugin.Log.Info("Assemblies patched!");
            }
            catch (Exception VirusSpirit)
            {
                CurrentPlugin.Log.Error("Failed to patch the assemblies!");
                CurrentPlugin.Log.Exception(VirusSpirit);
            }

            CurrentPlugin.Log.Info("Subscribing to Events ...");
            Events.Scene.StartLoad.Subscribe((data) =>
            {
                RendererManager.Renderers.Clear();
                levelloadcomplete = false;
            });
            Events.Scene.LoadFinish.Subscribe((data) =>
            {
                RendererManager.Renderers.Clear();
                levelloadcomplete = true;
                framecount        = 0;
                currentframe      = 0;
            });
            CurrentPlugin.Log.Info("Subscribed to Events!");
        }