protected override void OnInspectorRuntimeGUI() { base.OnInspectorRuntimeGUI(); foreach (var system in _ECSHelper.Systems) { GUILayout.BeginHorizontal(); GUILayout.Space(10); _systemFoldouts[system.Value.Name] = EditorGUILayout.Foldout(_systemFoldouts[system.Value.Name], system.Value.Name, true); GUILayout.EndHorizontal(); if (_systemFoldouts[system.Value.Name]) { GUILayout.BeginHorizontal(); GUILayout.Space(20); system.Value.IsEnabled = EditorGUILayout.Toggle("IsEnabled", system.Value.IsEnabled); GUILayout.EndHorizontal(); foreach (var entity in system.Value.StarEntities) { GUILayout.BeginHorizontal(); GUILayout.Space(20); EditorGUILayout.ObjectField(entity.gameObject, typeof(GameObject), true); GUILayout.FlexibleSpace(); if (GUILayout.Button("Remove", EditorStyles.miniButton, GUILayout.Width(60))) { system.Value.StarEntities.Remove(entity); break; } GUILayout.EndHorizontal(); } } } GUILayout.BeginHorizontal(); if (GUILayout.Button("Set Dirty")) { _ECSHelper.SetDirty(); } GUILayout.EndHorizontal(); }
/// <summary> /// 设置ECS环境为脏的,触发ECS环境重新刷新 /// </summary> public void SetDirty() { _helper.SetDirty(); }