/// <summary>
 /// Initializes the default values.
 /// </summary>
 /// <param name="gameObject">The GameObject this object is attached to.</param>
 public virtual void Initialize(GameObject gameObject)
 {
     if (Application.isPlaying)
     {
         StateManager.Initialize(gameObject, this, m_States);
     }
 }
 /// <summary>
 /// Initialize the default values.
 /// </summary>
 protected virtual void Awake()
 {
     if (Application.isPlaying)
     {
         StateManager.Initialize(gameObject, this, m_States);
     }
 }