예제 #1
0
        private static void MainInternal(string[] args)
        {
            var info = ModificationInfo.Parse(args);
            var modificationChain = new VerifyRootDirectory();

            modificationChain
            .SetNext(new FindCleanAssembly())
            .SetNext(new LoadAssemblyCSharp())
            .SetNext(new ModifyAccessors())
            .SetNext(new SaveAssemblyCSharp());

            modificationChain.ExecuteSteps(info);
        }
예제 #2
0
        public static void PerformInstall(ModificationInfo info)
        {
            if (info == null)
            {
                throw new ArgumentNullException(nameof(info));
            }
            var modificationChain = new VerifyRootDirectory();

            modificationChain
            .SetNext(new FindCleanAssembly())
            .SetNext(new LoadAssemblyCSharp())
            .SetNext(new ModifyAccessors())
            .SetNext(new AbsorbNuterra())
            .SetNext(new HookNuterra())
            .SetNext(new SaveAssemblyCSharp())
            .SetNext(new FixMissingDependencies());

            modificationChain.ExecuteSteps(info);
        }