private GameObject[] getDontDestroyOnLoadGameObjects()
{
var allGameObjects = new List<GameObject>();
allGameObjects.AddRange(FindObjectsOfType<GameObject>());
//移除所有场景包含的对象
for (var i = 0; i < SceneManager.sceneCount; i++)
{
var scene = SceneManager.GetSceneAt(i);
var objs = scene.GetRootGameObjects();
for (var j = 0; j < objs.Length; j++)
{
allGameObjects.Remove(objs[j]);
}
}
return allGameObjects.ToArray();
}
二、洗牌刷新
/// <summary>
/// 洗牌刷新
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
static void Shuffle<T>(IList<T> list)
{
Random rng = new Random();
int n = list.Count;
while (n > 1)
{
n--;
var k = rng.Next(n + 1);
(list[k], list[n]) = (list[n], list[k]);
}
}