PlayerLoopSystem
структура в UnityEngine.LowLevel
Выполнено в:UnityEngine.CoreModule
Описание
Представление одной системы, которая обновляется как часть цикла Player в Unity.
Система циклов проигрывателя представляет собой компонент или подсистему движка, обновляющуюся при каждой итерации цикла проигрывателя. PlayerLoopSystem имеет вложенную структуру, в которой каждая система содержит subSystemList, который является массивом других систем, обновляющихся как часть родительской системы.
Цикл по умолчанию состоит из встроенных в Unity собственных систем, таких как Ввод и Аудио, но вы можете добавить новые собственные системы в цикл проигрывателя, используя PlayerLoop.SetPlayerLoop в коде C#. Собственные системы можно получить только путем вызова PlayerLoop.GetDefaultPlayerLoop, и их параметры не должны изменяться.
Дополнительные ресурсы: PlayerLoop.
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--; } } }
Свойства
| Свойство | Описание |
|---|---|
| loopConditionFunction | Условие цикла для нативной системы двигателя. Чтобы получить допустимое значение для этого, вы должны скопировать его из одного из PlayerLoopSystems, возвращенных PlayerLoop.GetDefaultPlayerLoop. |
| subSystemList | Массив подсистем, каждая из которых также является PlayerLoopSystem, которые запускаются как часть этой системы в цикле Player. |
| type | System.Type используется для идентификации системы петли игрока и пометки его в Profiler. |
| updateDelegate | Управляемый делегат, которому можно назначить настраиваемый метод обновления, который должен запускаться как часть этой системы. |
| updateFunction | Нативная система двигателя. Чтобы получить допустимое значение для этого, вы должны скопировать его из одного из PlayerLoopSystems, возвращенных GetDefaultPlayerLoop. |