public static void Patch()
        {
            try
            {
                QuickLogger.Info($"Started patching. Version {QuickLogger.GetAssemblyVersion()}");

                var solar1 = new CyclopsSolarCharger();
                var solar2 = new CyclopsSolarChargerMk2(solar1);

                solar1.Patch();
                solar2.Patch();

                MCUServices.Register.CyclopsCharger <SolarCharger>((SubRoot cyclops) =>
                {
                    return(new SolarCharger(solar1.TechType, solar2.TechType, cyclops));
                });

                MCUServices.Register.CyclopsUpgradeHandler((SubRoot cyclops) =>
                {
                    return(new SolarUpgradeHandler(solar1.TechType, solar2.TechType, cyclops));
                });

                MCUServices.Register.PdaIconOverlay(solar1.TechType, CreateIconOverlay);

                MCUServices.Register.PdaIconOverlay(solar2.TechType, CreateIconOverlay);

                QuickLogger.Info($"Finished patching.");
            }
            catch (Exception ex)
            {
                QuickLogger.Error(ex);
            }
        }
 public SolarUpgradeHandler(TechType tier1Id, TechType tier2Id, SubRoot cyclops)
     : base(tier1Id, tier2Id, CyclopsSolarCharger.MaxSolarReached(), cyclops)
 {
 }