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; } } } }
internal void Update() { var playerDataLocal = G.Sys.PlayerManager_.Current_.playerData_; if (playerDataLocal) { if (!playerDataLocal.EnableShowScores_ && playerDataLocal.InputStates_.GetTriggered(InputAction.ShowScore)) { AbilityBatteryChange[] abilityBatteryChanges = new AbilityBatteryChange[4]; if (playerDataLocal.CarLogic_.Boost_.AbilityEnabled_) { abilityBatteryChanges[0] = AbilityBatteryChange.Enable; } if (playerDataLocal.CarLogic_.Jump_.AbilityEnabled_) { abilityBatteryChanges[1] = AbilityBatteryChange.Enable; } if (playerDataLocal.CarLogic_.Wings_.AbilityEnabled_) { abilityBatteryChanges[2] = AbilityBatteryChange.Enable; } if (playerDataLocal.CarLogic_.Jets_.AbilityEnabled_) { abilityBatteryChanges[3] = AbilityBatteryChange.Enable; } if (playerDataLocal.CarScreenLogic_ != null) { playerDataLocal.CarScreenLogic_.StopScrensaver(); int curMap = G.Sys.GameManager_.GetCurrentPlaylistIndex(); playerDataLocal.CarScreenLogic_.EnableAbilityBattery(abilityBatteryChanges, $"map {curMap}/16"); AudioManager.PostEvent("Play_OpenMap", playerDataLocal.Car_); } } } }