protected override void OnEditorSetting() { base.OnEditorSetting(); var dict = default(SortedDictionary <string, UnityEngine.Object>); foreach (SequentialSettingInfo si in this.EditorGetSequentialSettings()) { if (null == si) { continue; } if (si.IsUse && si.Folder) { if (null == dict) { dict = new SortedDictionary <string, UnityEngine.Object>(new UnityExtension.StringComparer()); } switch (si.Load) { case SequentialSettingInfo.LoadBy.DecimalIndex: case SequentialSettingInfo.LoadBy.HexadecimalIndex: UnityExtension.LoadAssetAtPathsByFilter ( type: si.GetAssetType(), dirObj: si.Folder, dict: dict, filter: new UnityExtension.LoadAssetFilter { iterators = new UnityExtension.LoadAssetFilter.Iterator[] { new UnityExtension.LoadAssetFilter.Iterator { prefix = si.NamePrefix, ext = si.NameExt, start = si.StartIdx, zeroFilled = si.ZeroFilled, hex = SequentialSettingInfo.LoadBy.HexadecimalIndex == si.Load, }, }, recursive = si.Recursive, } ); break; case SequentialSettingInfo.LoadBy.Names: UnityExtension.LoadAssetAtPathsByFilter ( type: si.GetAssetType(), dirObj: si.Folder, dict: dict, filter: new UnityExtension.LoadAssetFilter { names = si.Names, recursive = si.Recursive, } ); break; case SequentialSettingInfo.LoadBy.Extension: UnityExtension.LoadAssetAtPathsByFilter ( type: si.GetAssetType(), dirObj: si.Folder, dict: dict, filter: new UnityExtension.LoadAssetFilter { bruteForce = true, // TODO: StringCond StringCond.FromString(inlineCond); conds = new StringCond[] { new StringCond { chunks = new StringCond.Chunk[] { new StringCond.Chunk { keywords = new StringCond.Keyword[] { new StringCond.Keyword { value = si.NameExt, cond = StringCond.Keyword.Cond.Suffix, } } } } } }, recursive = si.Recursive, } ); break; case SequentialSettingInfo.LoadBy.Type: UnityExtension.LoadAssetAtPathsByFilter ( type: si.GetAssetType(), dirObj: si.Folder, dict: dict, filter: new UnityExtension.LoadAssetFilter { bruteForce = true, recursive = si.Recursive, } ); break; } } if (null != dict && 0 < dict.Count) { this.OnEditorSetting_Sequential(si.GetTag(), new List <UnityEngine.Object>(dict.Values).ToArray()); } } }