public void SystemScheduleWindow_ContainsThisComponentType() { var componentTypesInQuery1 = EntityQueryUtility.CollectComponentTypesFromSystemQuery(m_TestSystem1); var typesInQuery1 = componentTypesInQuery1 as string[] ?? componentTypesInQuery1.ToArray(); Assert.That(typesInQuery1.Contains(nameof(SystemScheduleTestData1))); Assert.That(typesInQuery1.Contains(nameof(SystemScheduleTestData2))); var componentTypesInQuery2 = EntityQueryUtility.CollectComponentTypesFromSystemQuery(m_TestSystem2); var typesInQuery2 = componentTypesInQuery2 as string[] ?? componentTypesInQuery2.ToArray(); Assert.That(!typesInQuery2.Contains(nameof(SystemScheduleTestData1))); Assert.That(!typesInQuery2.Contains(nameof(SystemScheduleTestData2))); }
public void SystemScheduleWindow_ComponentTypeAccessMode() { using (var query = m_DefaultWorld.EntityManager.CreateEntityQuery( ComponentType.ReadOnly <SystemScheduleTestData1>() , ComponentType.Exclude <SystemScheduleTestData2>())) { using (var componentTypePooledList = query.GetQueryTypes().ToPooledList()) using (var readWriteQueryTypePooledList = query.GetReadAndWriteTypes().ToPooledList()) { var componentTypeList = componentTypePooledList.List; var readWriteQueryTypeList = readWriteQueryTypePooledList.List; componentTypeList.Sort(EntityQueryUtility.CompareTypes); var index = 0; foreach (var componentType in componentTypeList) { var componentManagedType = componentType.GetManagedType(); var componentName = EntityQueryUtility.SpecifiedTypeName(componentManagedType); switch (componentName) { case nameof(SystemScheduleTestData1): { var accessMode1 = SystemDetailsVisualElement.GetAccessMode(componentType, readWriteQueryTypeList); Assert.That(EntityQueryUtility.StyleForAccessMode(accessMode1), Is.EqualTo(UssClasses.SystemScheduleWindow.Detail.ReadOnlyIcon)); break; } case nameof(SystemScheduleTestData2): { var accessMode2 = SystemDetailsVisualElement.GetAccessMode(componentType, readWriteQueryTypeList); Assert.That(EntityQueryUtility.StyleForAccessMode(accessMode2), Is.EqualTo(UssClasses.SystemScheduleWindow.Detail.ExcludeIcon)); break; } } index++; } } } }