Esempio n. 1
0
        public void StartWithGameplay <Result>(ModalMenuInput <Result> i_modalData, IModalGameplay i_gameplay)
        {
            Debug.Assert(m_levels.Count == 0);
            Type      t    = GetClassType <Result>();
            ModalInfo info = new ModalInfo();

            info.modalData = i_modalData;
            info.type      = t;
            info.gameplay  = i_gameplay;
            m_levels.Push(info);
        }
Esempio n. 2
0
        void Start()
        {
            ModalManager            manager = ModalManager.hidden_instance;
            ModalMenuInput <Result> data    = manager.ExtractData <Result>(this);

            if (data == null)
            {
                data = DefaultInput();
                manager.StartWithGameplay(data, this);
            }
            UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(m_initialSelectable.gameObject);
            Initialize(data as Input);
            m_yield = data.yielder;
            m_id    = data.id;
        }
Esempio n. 3
0
        void Start()
        {
            m_canvas = GetComponent <Canvas>();
            ModalManager            manager = ModalManager.hidden_instance;
            ModalMenuInput <Result> data    = manager.ExtractData <Result>();

            if (data == null)
            {
                data = DefaultInput();
            }
            m_canvas.sortingOrder = manager.GetCurrentSortingLayer();
            if (UnityEngine.EventSystems.EventSystem.current == null)
            {
                GameObject ev = new GameObject("tmp_EventSystem");
                ev.AddComponent <UnityEngine.EventSystems.EventSystem>();
            }
            UnityEngine.EventSystems.EventSystem.current.SetSelectedGameObject(m_initialSelectable.gameObject);
            Initialize(data as Input);
            m_yield = data.yielder;
            m_id    = data.id;
        }
Esempio n. 4
0
        public ModalYield <Result> LoadMenu <Result>(ModalMenuInput <Result> i_modalData, string i_menuLevel)
        {
            Type      t    = GetClassType <Result>();
            ModalInfo info = new ModalInfo();

            info.modalData      = i_modalData;
            info.level          = i_menuLevel;
            info.type           = t;
            info.lastSelectable = UnityEngine.EventSystems.EventSystem.current.currentSelectedGameObject.GetComponent <Selectable>();
            if (m_levels.Count > 0)
            {
                ModalInfo stackedModalGameplay = m_levels.Peek();
                if (stackedModalGameplay.gameplay != null)
                {
                    stackedModalGameplay.gameplay.Suspend();
                }
            }
            m_levels.Push(info);

            SceneManager.LoadScene(i_menuLevel, LoadSceneMode.Additive);
            return(i_modalData.yielder);
        }