void Awake() { _consumers = new CoroutineConsumer[(int)eUpdateType.Max]; for (int i = 0; i < _consumers.Length; ++i) { _consumers[i] = new CoroutineConsumer(_coroutine_array_size); } }
public override void OnInspectorGUI() { DrawDefaultInspector(); var dispatcher = target as CoroutineDispatcher; _update_type = (CoroutineDispatcher.eUpdateType)EditorGUILayout.EnumPopup(_update_type); CoroutineConsumer consumer = null; if (!Application.isPlaying) { consumer = Co.editorConsumer; } else { consumer = dispatcher.consumers[(int)_update_type]; } for (int i = 0; i < consumer.runNum; ++i) { var coroutine = consumer.coroutines[i]; if (coroutine == null) { continue; } GameObject link_game_object = consumer.GetLinkGameObject(coroutine); if (link_game_object != null) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(coroutine.ToString()); EditorGUILayout.ObjectField(link_game_object, typeof(GameObject), true); EditorGUILayout.EndHorizontal(); } else { EditorGUILayout.LabelField(coroutine.ToString()); } } }