70 lines
1.5 KiB
C#
70 lines
1.5 KiB
C#
|
|
using System;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using System.Collections;
|
|||
|
|
using System.Runtime.CompilerServices;
|
|||
|
|
using Object = UnityEngine.Object;
|
|||
|
|
using UnityEngine.SceneManagement;
|
|||
|
|
|
|||
|
|
public class ClearSceneData : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
//<2F>첽<EFBFBD><ECB2BD><EFBFBD><EFBFBD>
|
|||
|
|
private AsyncOperation async;
|
|||
|
|
|
|||
|
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
private static string nextSceneName;
|
|||
|
|
|
|||
|
|
void Awake()
|
|||
|
|
{
|
|||
|
|
Object[] objAry = Resources.FindObjectsOfTypeAll<Material>();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < objAry.Length; ++i)
|
|||
|
|
{
|
|||
|
|
objAry[i] = null;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Object[] objAry2 = Resources.FindObjectsOfTypeAll<Texture>();
|
|||
|
|
|
|||
|
|
for (int i = 0; i < objAry2.Length; ++i)
|
|||
|
|
{
|
|||
|
|
objAry2[i] = null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//ж<><D0B6>û<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>Դ
|
|||
|
|
Resources.UnloadUnusedAssets();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
GC.Collect();
|
|||
|
|
GC.WaitForPendingFinalizers();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>̣߳<DFB3>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ոö<D5B8><C3B6><EFBFBD>Ϊֹ
|
|||
|
|
GC.Collect();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Start()
|
|||
|
|
{
|
|||
|
|
StartCoroutine("AsyncLoadScene", nextSceneName);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
///
|
|||
|
|
/// <20><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>л<EFBFBD><D0BB><EFBFBD>ClearScene<6E><65><EFBFBD>˽ű<CBBD><C5B1>ǹ<EFBFBD><C7B9><EFBFBD>ClearScene<6E><65><EFBFBD><EFBFBD><EFBFBD>µģ<C2B5><C4A3>ͻ<EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
|
|||
|
|
///
|
|||
|
|
///
|
|||
|
|
public static void LoadScene(string _nextSceneName)
|
|||
|
|
{
|
|||
|
|
nextSceneName = _nextSceneName;
|
|||
|
|
SceneManager.LoadScene("LoadScene");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
///
|
|||
|
|
/// <20>첽<EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
///
|
|||
|
|
IEnumerator AsyncLoadScene(string sceneName)
|
|||
|
|
{
|
|||
|
|
async = SceneManager.LoadSceneAsync(sceneName);
|
|||
|
|
yield return async;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void OnDestroy()
|
|||
|
|
{
|
|||
|
|
async = null;
|
|||
|
|
}
|
|||
|
|
}
|