Esempio n. 1
0
 static void Postfix(TriggerCooldownLogic __instance, ref Collider other)
 {
     if (!GUtils.IsRelevantLocalCar(other))
     {
         return;
     }
     Global.ColorFlag  = !Global.ColorFlag;
     Global.HUDAnimate = Stopwatch.StartNew();
 }
        void OnTriggerEnter(Collider other)
        {
            if (!triggered)
            {
                var playerData = GUtils.IsRelevantLocalCar(other);
                if (playerData != null)
                {
                    AbilityBatteryChange[] abilityBatteryChanges = new AbilityBatteryChange[4];

                    if (enableBoosting)
                    {
                        playerData.EnableOrDisableBoost(true, true);
                        abilityBatteryChanges[0] = AbilityBatteryChange.Enable;

                        playerData.CarLogic_.Boost_.AbilityEnabled_ = true;
                    }
                    if (enableJumping)
                    {
                        playerData.EnableOrDisableJump(true, true);
                        abilityBatteryChanges[1] = AbilityBatteryChange.Enable;

                        playerData.CarLogic_.Jump_.AbilityEnabled_ = true;
                    }
                    if (enableFlying)
                    {
                        playerData.EnableOrDisableWings(true, true);
                        abilityBatteryChanges[2] = AbilityBatteryChange.Enable;

                        playerData.CarLogic_.Wings_.AbilityEnabled_ = true;
                    }
                    if (enableJetRotating)
                    {
                        playerData.EnableOrDisableJets(true, true);
                        abilityBatteryChanges[3] = AbilityBatteryChange.Enable;

                        playerData.CarLogic_.Jets_.AbilityEnabled_ = true;
                    }

                    if (showAbilityBattery)
                    {
                        var screen = playerData.CarScreenLogic_;
                        if (screen)
                        {
                            screen.EnableAbilityBattery(abilityBatteryChanges, "downloading");
                            AudioManager.PostEvent("Play_SystemActivate", playerData.Car_);
                        }
                    }

                    if (oneTimeTrigger)
                    {
                        triggered = true;
                    }
                }
            }
        }