// using UnityEngine;
// using UnityEngine.Serialization;
// namespace UnityAtoms.MonoHooks
// {
// ///
// /// Mono Hook for [`Awake`](https://docs.unity3d.com/ScriptReference/MonoBehaviour.Awake.html).
// ///
// [EditorIcon("atom-icon-delicate")]
// [AddComponentMenu("Unity Atoms/Hooks/On Awake Hook")]
// public sealed class OnAwakeHook : VoidHook
// {
// ///
// /// Listener
// ///
// [SerializeField]
// private VoidListener _listener = null;
// ///
// /// Listener with GameObject reference
// ///
// [SerializeField]
// private GameObjectListener _gameObjectListener = null;
// private void Awake()
// {
// // This is needed because it's not certain that OnEnable on all scripts are called before Awake on all scripts
// if (_event != null && _listener != null)
// {
// _event.RegisterListener(_listener);
// }
// if (_eventWithGameObjectReference != null && _gameObjectListener != null)
// {
// _eventWithGameObjectReference.RegisterListener(_gameObjectListener);
// }
// OnHook();
// }
// }
// }