Example #1
0
            /// <summary>
            /// Updates the distance traveled only if the achievements are unlocked.
            /// </summary>
            /// <param name="instance">The particle to check.</param>
            /// <param name="dt">The time elapsed since the last check.</param>
            private static void AchievementUpdate(HighEnergyParticle instance, float dt)
            {
                var inst = SaveGame.Instance;

                if (TrackAchievements() && inst != null && inst.TryGetComponent(
                        out ColonyAchievementTracker cat))
                {
                    cat.radBoltTravelDistance += instance.speed * dt;
                }
            }
Example #2
0
        /// <summary>
        /// Applied before MovingUpdate runs.
        /// </summary>
        internal static bool Prefix(HighEnergyParticle __instance, float dt)
        {
            bool cont = !__instance.TryGetComponent(out FastProtonCollider fpc);

            if (!cont)
            {
                fpc.MovingUpdate(dt);
            }
            else
            {
                // Should never happen!
                __instance.CheckCollision();
            }
            return(cont);
        }