Esempio n. 1
0
        public HCSLoader()
        {
            Logger = base.Logger;

            var harmonyInstance = HarmonyWrapper.PatchAll();

            harmonyInstance.Patch(AccessTools.Constructor(typeof(Game), Type.EmptyTypes), postfix: new HarmonyMethod(typeof(HCSLoader), nameof(LoadGirlsHook)));

            string modsDirectory = Path.Combine(Paths.GameRootPath, "Mods");

            if (!Directory.Exists(modsDirectory))
            {
                Directory.CreateDirectory(modsDirectory);
            }

            foreach (var subdir in Directory.GetDirectories(modsDirectory, "*", SearchOption.TopDirectoryOnly))
            {
                if (CharacterAdditionMod.TryLoad(subdir, out var addMod))
                {
                    CharacterAdditions.Add(addMod);
                }
                else if (CharacterModificationMod.TryLoad(subdir, out var editMod))
                {
                    CharacterModifications.Add(editMod);
                }
                else
                {
                    Logger.LogWarning($"Unknown mod type for folder '{Path.GetFileName(subdir)}', skipping");
                }
            }

            Logger.Log(LogLevel.Message, $"Found {CharacterAdditions.Count + CharacterModifications.Count} mods.");
        }