/// <summary> /// Clears all static cached data /// </summary> private static void ClearCache() { ContextToUnfoldedComponents.Clear(); ContextToComponentMemberSearch.Clear(); ContextToColoredBoxStyles.Clear(); ContextToComponentInfos.Clear(); }
internal static ComponentInfo[] GetComponentInfos(string contextName, string[] componentNames, Type[] componentTypes) { if (!ContextToComponentInfos.TryGetValue(contextName, out var infos)) { var infosList = new List <ComponentInfo>(componentTypes.Length); for (var i = 0; i < componentTypes.Length; i++) { infosList.Add( new ComponentInfo { index = i, name = componentNames[i], type = componentTypes[i] }); } infos = infosList.ToArray(); ContextToComponentInfos.Add(contextName, infos); } return(infos); }
internal static ComponentInfo[] GetComponentInfos(IEntity entity) { if (!ContextToComponentInfos.TryGetValue(entity.ContextInfo.name, out var infos)) { var contextInfo = entity.ContextInfo; var infosList = new List <ComponentInfo>(contextInfo.componentTypes.Length); for (var i = 0; i < contextInfo.componentTypes.Length; i++) { infosList.Add( new ComponentInfo { index = i, name = contextInfo.componentNames[i], type = contextInfo.componentTypes[i] }); } infos = infosList.ToArray(); ContextToComponentInfos.Add(entity.ContextInfo.name, infos); } return(infos); }