void OnInitSystemsGUI(EcsSystems systems) { var initList = _initList.Count > 0 ? _initList.Pop() : null; var count = systems.GetInitSystems(ref initList); if (count > 0) { EditorGUI.indentLevel++; for (var i = 0; i < count; i++) { var asSystems = initList[i] as EcsSystems; EditorGUILayout.LabelField(asSystems != null ? asSystems.Name : initList[i].GetType().Name); if (asSystems != null) { OnInitSystemsGUI(asSystems); } initList[i] = null; } EditorGUI.indentLevel--; } _initList.Push(initList); }