Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

PlayerLoop.GetDefaultPlayerLoop

Declaration

public static LowLevel.PlayerLoopSystem GetDefaultPlayerLoop();

Описание

Возвращает систему циклов Player, представляющую порядок обновления по умолчанию всех систем движка в Unity.

Порядок обновления по умолчанию — это порядок, в котором обновляются системы, если его не изменить с помощью SetPlayerLoop. Возвращаемый этим методом объект PlayerLoopSystem можно изменить, чтобы создать пользовательский порядок обновления, а затем установить его с помощью SetPlayerLoop. Если пользовательский цикл Player уже был установлен, используйте GetCurrentPlayerLoop, чтобы получить и дополнительно изменить текущий порядок обновления.

using System.Text;
using UnityEngine.LowLevel;
using UnityEngine;

public static class PrintDefaultPlayerLoop { //Retrieve the default Player loop system and iterate over its subsystems to print them.

//Run this method on runtime initialization [RuntimeInitializeOnLoadMethod] private static void AppStart() { StringBuilder sb = new(); // Pass the default Player loop to the recursive print function RecursivePlayerLoopPrint(PlayerLoop.GetDefaultPlayerLoop(), sb, 0); Debug.Log(sb.ToString()); } // Loop through the Player loop tree structure and add the names of the systems to the StringBuilder private static void RecursivePlayerLoopPrint(PlayerLoopSystem playerLoopSystem, StringBuilder sb, int depth) { if (depth == 0) { sb.AppendLine("ROOT NODE"); } else if (playerLoopSystem.type != null) { for (int i = 0; i < depth; i++) { sb.Append("\t"); } sb.AppendLine(playerLoopSystem.type.Name); } if (playerLoopSystem.subSystemList != null) { depth++; foreach (var s in playerLoopSystem.subSystemList) { RecursivePlayerLoopPrint(s, sb, depth); } depth--; } } }