#if UNITY_EDITOR using UnityEngine; using System.Collections.Generic; namespace O3DWB { public class CaseSensitiveEntityNameMatchOperation : IEntityNameMatchOperation { #region Public Methods public List GetEntitiesWithMatchingNames(List namedEntities, string nameToMatch) { var foundEntities = new List(namedEntities.Count); List extactMatchEntities = namedEntities.FindAll(item => item.Name == nameToMatch); foundEntities.AddRange(extactMatchEntities); StorePartialMatches(foundEntities, namedEntities, nameToMatch); return foundEntities; } #endregion #region Private Methods private void StorePartialMatches(List destination, List namedEntities, string nameToMatch) { foreach (INamedEntity namedEntity in namedEntities) { if (namedEntity.Name != nameToMatch) { if (nameToMatch.Contains(namedEntity.Name)) destination.Add(namedEntity); } } } #endregion } } #endif