private void UpdateLeverAnimation(ELeverState state) { if (_switchAnimator != null) { _switchAnimator.SetBool("IsOn", state == ELeverState.TurnedOn); } }
private void UpdateAirlock(ELeverState state) { if (_exteriorAirlock != null) { if (state == ELeverState.TurnedOff) { _exteriorAirlock.SetAirlockState(ExteriorAirlockComponent.EAirlockState.Closed); } else { _exteriorAirlock.SetAirlockState(ExteriorAirlockComponent.EAirlockState.Open); if (_ventAlert != null) { AudioManager.Instance.PlaySound(_ventAlert); } } } if (_interiorAirlock != null) { if (state == ELeverState.TurnedOff) { _interiorAirlock.SetAirlockState(InteriorAirlockComponent.EAirlockState.Open); } else { _interiorAirlock.SetAirlockState(InteriorAirlockComponent.EAirlockState.Closed); } } }
private void UpdateCameraFocus(ELeverState state) { if (_cameraFocusPoint != null) { // _cameraFocusPoint.enabled = state == ELeverState.TurnedOn; } }
public override void OnLeverStateChanged(ELeverState newState) { base.OnLeverStateChanged(newState); _resetTimer = 0; UpdateLeverAnimation(newState); UpdateAirlock(newState); UpdateCameraFocus(newState); }
public void SetLeverState(ELeverState newState) { if (newState != CurrentLeverState) { _currentLeverState = newState; OnLeverStateChanged(newState); } }
public virtual void OnLeverStateChanged(ELeverState newState) { }
private void Start() { _currentLeverState = InitialLeverState; }