public void Apply(GameModeManagerDef _def)
    {
        if (_def.mode != null)
        {
            if (!_def.mode.overrideMode)
            {
                if (mode != null || m_ModeToSet != null)
                {
                    Debug.Log("Mode is already exist. ");
                }
            }

            m_ModeToSet = _def.mode;

            CancelInvoke("SetupProc");

            if (setupDelay <= 0f)
            {
                Debug.LogWarning("Setup mode without delay. Sure?");
                SetupProc();
            }
            else
            {
                Invoke("SetupProc", setupDelay);
            }
        }
    }
    public void Apply(GameModeManagerDef _def)
    {
        if (_def.mode != null)
        {
            if ( ! _def.mode.overrideMode)
            {
                if (mode != null || m_ModeToSet != null)
                {
                    Debug.Log("Mode is already exist. ");
                }
            }

            m_ModeToSet = _def.mode;

            CancelInvoke("SetupProc");

            if (setupDelay <= 0f)
            {
                Debug.LogWarning("Setup mode without delay. Sure?");
                SetupProc();
            }
            else
            {
                Invoke("SetupProc", setupDelay);
            }
        }
    }