using System.Collections; using System.Collections.Generic; using Sirenix.OdinInspector.Editor; using Stary.Evo; using Stary.Evo.Editor; using UnityEditor; using UnityEngine; namespace Stary.Evo.Editor { [CustomEditor(typeof(ArtSceneData))] public class ArtSceneDataEditor : OdinEditor { // /// // /// 序列化属性,在OnEnable中获取 // /// // [HideInInspector] private SerializedProperty artScenes; private void OnEnable() { //artScenes = serializedObject.FindProperty("artScenes"); ArtSceneData artSceneData = (ArtSceneData)target; List artScenesList = artSceneData.artScenes; List removeIndexList = new List(); for (int i = 0; i < artScenesList.Count; i++) { ArtScene artScene = artScenesList[i]; if (artScene.sceneAsset==null) { removeIndexList.Add(i); } } for (int i = removeIndexList.Count - 1; i >= 0; i--) { int index = removeIndexList[i]; artScenesList.RemoveAt(index); } } } }