Ejemplo n.º 1
0
        /// <summary>
        /// 读取场景之前执行
        /// </summary>
        /// <param name="message"></param>
        /// <param name="sender"></param>
        /// <param name="messageArgs"></param>
        /// <param name="messageParams"></param>
        private void Listener_onLoadScene(string message, object sender, MessageArgs messageArgs, params object[] messageParams)
        {
            OnLoadSceneArgs args = messageArgs as OnLoadSceneArgs;

            if (args.type == LoadSceneType.SceneName)
            {
                switch (args.sceneName)
                {
                case TestGameMain.k_TestFrameworkMainSceneName:
                    m_LoadStageSceneBtn.transform.Find("Text").GetComponent <Text>().text = "Load\n 'StageScene'";
                    break;

                case TestGameMain.k_TestFrameworkStageSceneName:
                    m_LoadStageSceneBtn.transform.Find("Text").GetComponent <Text>().text = "Load\n 'MainScene'";
                    break;

                case TestGameMain.k_TestFrameworkAddSceneName:
                    m_IsAddScene = true;
                    m_AddAddSceneBtn.transform.Find("Text").GetComponent <Text>().text = "Unload\n 'AddScene'";
                    break;

                default:
                    break;
                }
            }
        }
        void IMessageHandler.ExecuteMessage(string message, object sender, MessageArgs messageArgs, params object[] messageParams)
        {
            switch (message)
            {
            case TestGameMain.k_Event_OnLoadScene:
            {
                OnLoadSceneArgs args = messageArgs as OnLoadSceneArgs;
                if (args.type == LoadSceneType.SceneName && args.sceneName == m_ListenerSceneName)
                {
                    Debug.LogFormat(
                        "{0}: Handler trigger '{1}' message. On load scene '{2}'",
                        name,
                        message,
                        args.sceneName
                        );
                }
                break;
            }

            case TestGameMain.k_Event_OnSceneLoaded:
            {
                OnSceneLoadedArgs args = messageArgs as OnSceneLoadedArgs;
                if (args.scene.name == m_ListenerSceneName)
                {
                    Debug.LogFormat(
                        "{0}: Handler trigger '{1}' message. On scene loaded '{2}'",
                        name,
                        message,
                        args.scene.name
                        );
                }
                break;
            }

            default:
                break;
            }
        }