Beispiel #1
0
            private static void onPlayModeStateChanged()
            {
                var changedState = QuickUnityEditorEventsWatcher.PlayModeState.None;

                switch (mCurState)
                {
                case QuickUnityEditorEventsWatcher.PlayModeState.Stopped:
                    if (EditorApplication.isPlayingOrWillChangePlaymode)
                    {
                        if (EditorApplication.isPlaying)
                        {
                            changedState = QuickUnityEditorEventsWatcher.PlayModeState.Playing;
                        }
                        else
                        {
                            mIgnore = true;
                        }
                    }

                    break;

                case QuickUnityEditorEventsWatcher.PlayModeState.Playing:
                    if (EditorApplication.isPaused)
                    {
                        changedState = QuickUnityEditorEventsWatcher.PlayModeState.Paused;
                    }
                    else
                    {
                        changedState = QuickUnityEditorEventsWatcher.PlayModeState.Stopped;
                    }
                    break;

                case QuickUnityEditorEventsWatcher.PlayModeState.Paused:
                    if (EditorApplication.isPlayingOrWillChangePlaymode)
                    {
                        changedState = QuickUnityEditorEventsWatcher.PlayModeState.Playing;
                    }
                    else
                    {
                        changedState = QuickUnityEditorEventsWatcher.PlayModeState.Stopped;
                    }
                    break;
                }
                if (mIgnore || changedState == QuickUnityEditorEventsWatcher.PlayModeState.None)
                {
                    return;
                }
                foreach (QuickUnityEditorEventsWatcher w in QuickUnityEditorEventsWatcher.allWatchers)
                {
                    if (w == null)
                    {
                        continue;
                    }
                    w.EditorApplication.InvokePlayModeStateChanged(changedState, w.EditorApplication.OnPlayModeStateChanged);
                }
                mCurState = changedState;
                mIgnore   = false;
            }
Beispiel #2
0
            private static void onPlayModeStateChanged(PlayModeStateChange playMode)
            {
                var changedState = QuickUnityEditorEventsWatcher.PlayModeState.None;

                switch (playMode)
                {
                case PlayModeStateChange.EnteredEditMode:
                    changedState = QuickUnityEditorEventsWatcher.PlayModeState.Stopped;
                    break;

                case PlayModeStateChange.ExitingEditMode:
                    break;

                case PlayModeStateChange.EnteredPlayMode:
                    changedState = QuickUnityEditorEventsWatcher.PlayModeState.Playing;
                    break;

                case PlayModeStateChange.ExitingPlayMode:
                    break;

                default:
                    break;
                }
                //switch (mCurState)
                //{
                //    case QuickUnityEditorEventsWatcher.PlayModeState.Playing:
                //        if (EditorApplication.isPaused)
                //        {
                //            changedState = QuickUnityEditorEventsWatcher.PlayModeState.Paused;
                //        }
                //        else
                //        {
                //            changedState = QuickUnityEditorEventsWatcher.PlayModeState.Stopped;
                //        }
                //        break;
                //}
                if (mIgnore || changedState == QuickUnityEditorEventsWatcher.PlayModeState.None)
                {
                    return;
                }
                foreach (QuickUnityEditorEventsWatcher w in QuickUnityEditorEventsWatcher.allWatchers)
                {
                    if (w == null)
                    {
                        continue;
                    }
                    w.EditorApplication.InvokePlayModeStateChanged(changedState, w.EditorApplication.OnPlayModeStateChanged);
                }
                mCurState = changedState;
            }
Beispiel #3
0
 private static void OnPlayModeStateChanged(QuickUnityEditorEventsWatcher.PlayModeState arg0)
 {
     Debug.Log("Editor PlayModeState: {0}", arg0);
 }