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

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.
typeSystem.Type используется для идентификации системы петли игрока и пометки его в Profiler.
updateDelegateУправляемый делегат, которому можно назначить настраиваемый метод обновления, который должен запускаться как часть этой системы.
updateFunctionНативная система двигателя. Чтобы получить допустимое значение для этого, вы должны скопировать его из одного из PlayerLoopSystems, возвращенных GetDefaultPlayerLoop.