Fix bug where input was blocked from levels other than main menu
This commit is contained in:
@@ -13,6 +13,9 @@ namespace Cinematics
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class CinematicsManager : MonoBehaviour
|
public class CinematicsManager : MonoBehaviour
|
||||||
{
|
{
|
||||||
|
public event System.Action OnCinematicStarted;
|
||||||
|
public event System.Action OnCinematicStopped;
|
||||||
|
|
||||||
private static CinematicsManager _instance;
|
private static CinematicsManager _instance;
|
||||||
private static bool _isQuitting;
|
private static bool _isQuitting;
|
||||||
private Image cinematicSprites;
|
private Image cinematicSprites;
|
||||||
@@ -70,6 +73,7 @@ namespace Cinematics
|
|||||||
playableDirector.stopped += OnPlayableDirectorStopped;
|
playableDirector.stopped += OnPlayableDirectorStopped;
|
||||||
playableDirector.Play(assetToPlay);
|
playableDirector.Play(assetToPlay);
|
||||||
Debug.Log("Playing cinematic " + assetToPlay.name);
|
Debug.Log("Playing cinematic " + assetToPlay.name);
|
||||||
|
OnCinematicStarted?.Invoke();
|
||||||
return playableDirector;
|
return playableDirector;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,6 +81,7 @@ namespace Cinematics
|
|||||||
{
|
{
|
||||||
cinematicSprites.enabled = false;
|
cinematicSprites.enabled = false;
|
||||||
Debug.Log("Cinematic stopped!");
|
Debug.Log("Cinematic stopped!");
|
||||||
|
OnCinematicStopped?.Invoke();
|
||||||
|
|
||||||
// Release the addressable handle associated with this director
|
// Release the addressable handle associated with this director
|
||||||
ReleaseAddressableHandle(director);
|
ReleaseAddressableHandle(director);
|
||||||
|
|||||||
@@ -25,13 +25,25 @@ namespace Cinematics
|
|||||||
|
|
||||||
void OnEnable()
|
void OnEnable()
|
||||||
{
|
{
|
||||||
// Register as override consumer when enabled
|
CinematicsManager.Instance.OnCinematicStarted += HandleCinematicStarted;
|
||||||
InputManager.Instance.RegisterOverrideConsumer(this);
|
CinematicsManager.Instance.OnCinematicStopped += HandleCinematicStopped;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnDisable()
|
void OnDisable()
|
||||||
{
|
{
|
||||||
// Unregister when disabled
|
CinematicsManager.Instance.OnCinematicStarted -= HandleCinematicStarted;
|
||||||
|
CinematicsManager.Instance.OnCinematicStopped -= HandleCinematicStopped;
|
||||||
|
// If still registered, unregister input override
|
||||||
|
InputManager.Instance.UnregisterOverrideConsumer(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleCinematicStarted()
|
||||||
|
{
|
||||||
|
InputManager.Instance.RegisterOverrideConsumer(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleCinematicStopped()
|
||||||
|
{
|
||||||
InputManager.Instance.UnregisterOverrideConsumer(this);
|
InputManager.Instance.UnregisterOverrideConsumer(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
"com.unity.addressables": "2.7.3",
|
"com.unity.addressables": "2.7.3",
|
||||||
"com.unity.addressables.android": "1.0.7",
|
"com.unity.addressables.android": "1.0.7",
|
||||||
"com.unity.cinemachine": "3.1.4",
|
"com.unity.cinemachine": "3.1.4",
|
||||||
|
"com.unity.device-simulator.devices": "1.0.0",
|
||||||
"com.unity.feature.2d": "2.0.1",
|
"com.unity.feature.2d": "2.0.1",
|
||||||
"com.unity.film-internal-utilities": "0.18.4-preview",
|
"com.unity.film-internal-utilities": "0.18.4-preview",
|
||||||
"com.unity.graphtoolkit": "0.4.0-exp.2",
|
"com.unity.graphtoolkit": "0.4.0-exp.2",
|
||||||
|
|||||||
@@ -155,6 +155,13 @@
|
|||||||
},
|
},
|
||||||
"url": "https://packages.unity.com"
|
"url": "https://packages.unity.com"
|
||||||
},
|
},
|
||||||
|
"com.unity.device-simulator.devices": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"depth": 0,
|
||||||
|
"source": "registry",
|
||||||
|
"dependencies": {},
|
||||||
|
"url": "https://packages.unity.com"
|
||||||
|
},
|
||||||
"com.unity.ext.nunit": {
|
"com.unity.ext.nunit": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.5",
|
||||||
"depth": 1,
|
"depth": 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user