public override bool GetId(GameObject go, QueryFilterOperator op, int instanceId) { int goId = go.GetInstanceID(); switch (op.type) { case FilterOperatorType.Contains: case FilterOperatorType.Equal: if (instanceId == goId) { return(true); } return(EditorUtility.InstanceIDToObject(instanceId) is Component c && c.gameObject == go); case FilterOperatorType.NotEqual: return(instanceId != goId); case FilterOperatorType.Greater: return(instanceId > goId); case FilterOperatorType.GreaterOrEqual: return(instanceId >= goId); case FilterOperatorType.Lesser: return(instanceId < goId); case FilterOperatorType.LesserOrEqual: return(instanceId <= goId); } return(false); }
bool OnAttributeFilter(GameObject go, QueryFilterOperator op, string value) { var god = GetGOD(go); if (god.attrs == null) { var attrs = new List <string>(); var gocs = go.GetComponents <MonoBehaviour>(); for (int componentIndex = 0; componentIndex < gocs.Length; ++componentIndex) { var c = gocs[componentIndex]; if (!c || (c.hideFlags & HideFlags.HideInInspector) == HideFlags.HideInInspector) { continue; } attrs.AddRange(c.GetType().GetInterfaces().Select(t => t.Name.ToLowerInvariant())); } god.attrs = attrs.ToArray(); } return(CompareWords(op, value.ToLowerInvariant(), god.attrs)); }
static bool OnPrefabFilter(GameObject go, QueryFilterOperator op, PrefabFilter value) { if (!PrefabUtility.IsPartOfAnyPrefab(go)) { return(false); } switch (value) { case PrefabFilter.Root: return(PrefabUtility.IsAnyPrefabInstanceRoot(go)); case PrefabFilter.Instance: return(PrefabUtility.IsPartOfPrefabInstance(go)); case PrefabFilter.Top: return(PrefabUtility.IsOutermostPrefabInstanceRoot(go)); case PrefabFilter.NonAsset: return(PrefabUtility.IsPartOfNonAssetPrefabInstance(go)); case PrefabFilter.Asset: return(PrefabUtility.IsPartOfPrefabAsset(go)); case PrefabFilter.Any: return(PrefabUtility.IsPartOfAnyPrefab(go)); case PrefabFilter.Model: return(PrefabUtility.IsPartOfModelPrefab(go)); case PrefabFilter.Regular: return(PrefabUtility.IsPartOfRegularPrefab(go)); case PrefabFilter.Variant: return(PrefabUtility.IsPartOfVariantPrefab(go)); case PrefabFilter.Modified: return(PrefabUtility.HasPrefabInstanceAnyOverrides(go, false)); case PrefabFilter.Altered: return(PrefabUtility.HasPrefabInstanceAnyOverrides(go, true)); default: return(false); } }
bool OnPrefabFilter(GameObject go, QueryFilterOperator op, string value) { if (!PrefabUtility.IsPartOfAnyPrefab(go)) { return(false); } if (value == "root") { return(PrefabUtility.IsAnyPrefabInstanceRoot(go)); } if (value == "instance") { return(PrefabUtility.IsPartOfPrefabInstance(go)); } if (value == "top") { return(PrefabUtility.IsOutermostPrefabInstanceRoot(go)); } if (value == "nonasset") { return(PrefabUtility.IsPartOfNonAssetPrefabInstance(go)); } if (value == "asset") { return(PrefabUtility.IsPartOfPrefabAsset(go)); } if (value == "any") { return(PrefabUtility.IsPartOfAnyPrefab(go)); } if (value == "model") { return(PrefabUtility.IsPartOfModelPrefab(go)); } if (value == "regular") { return(PrefabUtility.IsPartOfRegularPrefab(go)); } if (value == "variant") { return(PrefabUtility.IsPartOfVariantPrefab(go)); } if (value == "modified") { return(PrefabUtility.HasPrefabInstanceAnyOverrides(go, false)); } if (value == "altered") { return(PrefabUtility.HasPrefabInstanceAnyOverrides(go, true)); } return(false); }
public QueryFilter(TFieldKey field, object filterValue, QueryFilterOperator filterOperator) { Field = field; Value = filterValue; Operator = filterOperator; }
/// <summary> /// Static method to build query filter for specified field, operator, and value /// </summary> /// <param name="field"></param> /// <param name="operator"></param> /// <param name="value"></param> public static string ConstructQueryFilter(string field, QueryFilterOperator queryFilterOperator, string value) { return($"{field}:{queryFilterOperator.ToString().ToLower()}:{Uri.EscapeDataString(value)}"); }
/// <summary> /// <see cref="ITableauApiService.BuildQueryFilter"/> /// </summary> public string BuildQueryFilter(string field, QueryFilterOperator queryFilterOperator, string value) { return(ConstructQueryFilter(field, queryFilterOperator, value)); }