static object InvokeApplyFiltersMethod(EcsSearcherFilter filter, TypeSearcherItemData data) { var method = filter.GetType().GetMethod("ApplyFilters", BindingFlags.NonPublic | BindingFlags.Instance); return(method?.Invoke(filter, new object[] { data })); }
public void TestWithSharedComponentData(Type type, bool expectedResult) { var filter = new EcsSearcherFilter(SearcherContext.Type).WithSharedComponentData(m_Stencil); var data = new TypeSearcherItemData(type.GenerateTypeHandle(m_Stencil), SearcherItemTarget.Type); var result = InvokeApplyFiltersMethod(filter, data); Assert.AreEqual(expectedResult, result); }
void ShowComponentPicker() { var filter = new EcsSearcherFilter(SearcherContext.Type) .WithComponentData(Model.GraphModel.Stencil, new HashSet <TypeHandle>(Model.GetEditableComponents().Select(c => c.Type))) .WithSharedComponentData(Model.GraphModel.Stencil); //Fetch typename var stencil = Model.GraphModel.Stencil; SearcherService.ShowTypes(stencil, Event.current.mousePosition, (th, _) => SetComponentOperation(th, ComponentOperation.ComponentOperationType.AddComponent), filter); }
public void TestWithComponentDataWithExclusion() { var componentDataTypeHandle = typeof(TestComponent).GenerateTypeHandle(m_Stencil); var filter = new EcsSearcherFilter(SearcherContext.Type).WithComponentData(m_Stencil, new HashSet <TypeHandle>() { componentDataTypeHandle }); var data = new TypeSearcherItemData(componentDataTypeHandle, SearcherItemTarget.Type); var result = InvokeApplyFiltersMethod(filter, data); Assert.That(result, Is.False); }
public void TestWithComponents(Type type, bool expectedResult) { var components = new List <TypeHandle> { typeof(Translation).GenerateTypeHandle(m_Stencil), typeof(Scale).GenerateTypeHandle(m_Stencil) }; var filter = new EcsSearcherFilter(SearcherContext.Type).WithComponents(components); var data = new TypeSearcherItemData(type.GenerateTypeHandle(m_Stencil), SearcherItemTarget.Type); var result = InvokeApplyFiltersMethod(filter, data); Assert.AreEqual(expectedResult, result); }