diff --git a/FactoryBase.cs b/FactoryBase.cs index 984a94c..cc26a2a 100644 --- a/FactoryBase.cs +++ b/FactoryBase.cs @@ -16,12 +16,20 @@ namespace Syntriax.Modules.Factory if (IsInitialized) return; - OnFactoryInitialize(); - IsInitialized = true; - OnInitialized?.Invoke(this); - OnStateChanged?.Invoke(this); + try + { + OnFactoryInitialize(); + + OnInitialized?.Invoke(this); + OnStateChanged?.Invoke(this); + } + catch (System.Exception e) + { + Debug.LogError(e); + Reset(); + } } public void Reset() @@ -29,12 +37,19 @@ namespace Syntriax.Modules.Factory if (!IsInitialized) return; - OnFactoryReset(); - IsInitialized = false; - OnReset?.Invoke(this); - OnStateChanged?.Invoke(this); + try + { + OnFactoryReset(); + + OnReset?.Invoke(this); + OnStateChanged?.Invoke(this); + } + catch (System.Exception e) + { + Debug.LogError(e); + } } ///