Esempio n. 1
0
        public static void Postfix(StarmapRenderer __instance, Dictionary <GameObject, StarmapSystemRenderer> ___systemDictionary)
        {
            var simGame = Traverse.Create(__instance.starmap).Field("sim").GetValue <SimGameState>();


            if (!Patches.Settings.CareerOnly || simGame.IsCareerMode())
            {
                var visitedSystems = Traverse.Create(simGame).Field("VisitedStarSystems").GetValue <List <string> >();

                mpb.Clear();
                foreach (var system in visitedSystems)
                {
                    var systemRenderer = __instance.GetSystemRenderer(system);
                    var starOuter      = Traverse.Create(systemRenderer).Field("starOuter").GetValue <Renderer>();
                    var newColor       = systemRenderer.systemColor / 3f;

                    // set outer color
                    mpb.SetColor("_Color", newColor);
                    starOuter.SetPropertyBlock(mpb);
                }
            }
        }