diff --git a/Assets/Scripts/Game/TransportManager.cs b/Assets/Scripts/Game/TransportManager.cs index 8ab4596224..d4567c586b 100644 --- a/Assets/Scripts/Game/TransportManager.cs +++ b/Assets/Scripts/Game/TransportManager.cs @@ -330,6 +330,7 @@ void OnGUI() private void UpdateMode(TransportModes transportMode) { // Update the transport mode and stop any riding sounds playing. + TransportModes previousMode = mode; mode = transportMode; if (ridingAudioSource.isPlaying) ridingAudioSource.Stop(); @@ -399,7 +400,22 @@ private void UpdateMode(TransportModes transportMode) DaggerfallUI.Instance.FadeBehaviour.FadeHUDFromBlack(); mode = TransportModes.Foot; } - } + // Raise mode changed event + RaiseOnTransportModeChangedEvent(transportMode, previousMode); + } + #endregion + + #region Events + + // OnTransportModeChanged + public delegate void OnTransportModeChangedEventHandler(TransportModes newMode, TransportModes previousMode); + public static event OnTransportModeChangedEventHandler OnTransportModeChanged; + protected virtual void RaiseOnTransportModeChangedEvent(TransportModes newMode, TransportModes previousMode) + { + if (OnTransportModeChanged != null) + OnTransportModeChanged(newMode, previousMode); + } + #endregion } }