您的位置:首页 > 财经 > 产业 > Unity 阻止编辑器退出播放

Unity 阻止编辑器退出播放

2024/12/23 15:27:00 来源:https://blog.csdn.net/qq_26318597/article/details/141183075  浏览:    关键词:Unity 阻止编辑器退出播放

阻止编辑器退出播放

  • 🍔使用场景
  • 🌮参考

🍔使用场景

有时候会遇到直接退出播放时导致崩溃,可能是某些插件没清理完导致的。这时可以监听播放状态的更改,及时阻止编辑器退出,然后把该销毁的先销毁了,再退出播放模式。

🌮参考

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace ZYF
{/// <summary>/// 退出播放模式前先销毁所有的播放器,不然可能崩溃/// </summary>public class DestroyAllPlayersBeforeExitPlayMode{[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]static void Init(){if (Application.isPlaying ==false || Application.isEditor ==false) {return;}//监听播放状态变更EditorApplication.playModeStateChanged += PlayModelChangedHandler;}private static void PlayModelChangedHandler(PlayModeStateChange change){if (change == PlayModeStateChange.ExitingPlayMode){//移除监听,不然会进入死循环EditorApplication.playModeStateChanged -= PlayModelChangedHandler;//立即进入播放模式阻止退出EditorApplication.EnterPlaymode();//销毁资源DestroyAllPlayers();//然后再退出播放EditorApplication.ExitPlaymode();}}static void DestroyAllPlayers(){}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com