public bool IsMatch(SearchableItem entry)
        {
            var item = entry.Item;
            var obj  = item as Object;
            var key  = Utils.Helpers.GetItemUniqueKey(item);

            if (UniqueKey.Any() && UniqueKey.Contains(key))
            {
                return(true);
            }

            if (Class.Any() && GetClassFullNames(item).Any(className => Class.Contains(className)))
            {
                return(true);
            }

            if (ObjCategory.Any() && ObjCategory.Contains(item.Category))
            {
                return(true);
            }

            if (ObjType.Any() && obj != null && ObjType.Contains(obj.Type))
            {
                return(true);
            }

            if (ItemId.Any() && ItemId.Contains($"{entry.Type}:{item.ParentSheetIndex}"))
            {
                return(true);
            }

            return(false);
        }
Пример #2
0
    public int objInstanceNum; // Object instance number. Each gameObject created in the scenen will have a unique tag

    // Initialize a NavObj
    public NavObj(Object obj, int catNum)
    {
        objName        = obj.name;
        objType        = (ObjType)Enum.GetNames(typeof(ObjType)).ToList().IndexOf(objName.Split('_')[0]);
        objCat         = (ObjCategory)catNum; // 0: onFloor, 1: onFurnitureTop, 2: onWall
        objInstance    = obj;
        objInstanceNum = 0;
    }