public override bool Passes(Item item) { ItemFilter placeable = new FilterPlaceable(); bool ct = false; if (item.createTile != -1) { ct = TileID.Sets.BasicChest[item.createTile]; } return(placeable.Passes(item) && (MagicStorage.ContainsExactMatch(item.Name, "Crate") || (ct))); }
private static ItemFilter GetPlaceableFilter(SubFilterMode subFilterMode) { ItemFilter filter; switch (subFilterMode) { case SubFilterMode.All: filter = new FilterPlaceable(); break; case SubFilterMode.Material: filter = new FilterMaterial(); break; case SubFilterMode.Block: filter = new FilterBlock(); break; case SubFilterMode.Ore: filter = new FilterOre(); break; case SubFilterMode.RoomNeeds: filter = new FilterRoomNeeds(); break; case SubFilterMode.Statue: filter = new FilterStatue(); break; case SubFilterMode.Banner: filter = new FilterBanner(); break; case SubFilterMode.Crate: filter = new FilterCrate(); break; case SubFilterMode.OtherPlaceables: filter = new FilterOtherPlaceable(); break; default: filter = new FilterPlaceable(); break; } return(filter); }
public override bool Passes(Item item) { ItemFilter plac = new FilterPlaceable(); result = false; if (plac.Passes(item)) { result = true; foreach (var filter in blacklist) { if (filter.Passes(item)) { result = false; } } } return(result); }
public override bool Passes(Item item) { ItemFilter placeable = new FilterPlaceable(); bool rn = false; if (Array.IndexOf(TileID.Sets.RoomNeeds.CountsAsChair, item.createTile) >= 0) { rn = true; } if (Array.IndexOf(TileID.Sets.RoomNeeds.CountsAsDoor, item.createTile) >= 0) { rn = true; } if (Array.IndexOf(TileID.Sets.RoomNeeds.CountsAsTable, item.createTile) >= 0) { rn = true; } if (Array.IndexOf(TileID.Sets.RoomNeeds.CountsAsTorch, item.createTile) >= 0) { rn = true; } return(placeable.Passes(item) && rn); }
public static IEnumerable <Item> SortAndFilter(IEnumerable <Item> items, SortMode sortMode, FilterMode filterMode, string modFilter, string nameFilter) { ItemFilter filter; switch (filterMode) { case FilterMode.All: filter = new FilterAll(); break; case FilterMode.Weapons: filter = new FilterWeapon(); break; case FilterMode.Tools: filter = new FilterTool(); break; case FilterMode.Equipment: filter = new FilterEquipment(); break; case FilterMode.Potions: filter = new FilterPotion(); break; case FilterMode.Placeables: filter = new FilterPlaceable(); break; case FilterMode.Misc: filter = new FilterMisc(); break; default: filter = new FilterAll(); break; } IEnumerable <Item> filteredItems = items.Where((item) => filter.Passes(item) && FilterName(item, modFilter, nameFilter)); CompareFunction func; switch (sortMode) { case SortMode.Default: func = new CompareDefault(); break; case SortMode.Id: func = new CompareID(); break; case SortMode.Name: func = new CompareName(); break; case SortMode.Quantity: func = new CompareID(); break; default: return(filteredItems); } BTree <Item> sortedTree = new BTree <Item>(func); foreach (Item item in filteredItems) { sortedTree.Insert(item); } if (sortMode == SortMode.Quantity) { BTree <Item> oldTree = sortedTree; sortedTree = new BTree <Item>(new CompareQuantity()); foreach (Item item in oldTree.GetSortedItems()) { sortedTree.Insert(item); } } return(sortedTree.GetSortedItems()); }
public static IEnumerable <Recipe> GetRecipes(SortMode sortMode, FilterMode filterMode, string modFilter, string nameFilter) { ItemFilter filter; switch (filterMode) { case FilterMode.All: filter = new FilterAll(); break; case FilterMode.Weapons: filter = new FilterWeapon(); break; case FilterMode.Tools: filter = new FilterTool(); break; case FilterMode.Equipment: filter = new FilterEquipment(); break; case FilterMode.Potions: filter = new FilterPotion(); break; case FilterMode.Placeables: filter = new FilterPlaceable(); break; case FilterMode.Misc: filter = new FilterMisc(); break; default: filter = new FilterAll(); break; } IEnumerable <Recipe> filteredRecipes = Main.recipe.Where((recipe, index) => index < Recipe.numRecipes && filter.Passes(recipe) && FilterName(recipe.createItem, modFilter, nameFilter)); CompareFunction func; switch (sortMode) { case SortMode.Default: func = new CompareDefault(); break; case SortMode.Id: func = new CompareID(); break; case SortMode.Name: func = new CompareName(); break; default: return(filteredRecipes); } BTree <Recipe> sortedTree = new BTree <Recipe>(func); foreach (Recipe recipe in filteredRecipes) { sortedTree.Insert(recipe); /*if (CraftingGUI.threadNeedsRestart) * { * return new List<Recipe>(); * }*/ } return(sortedTree.GetSortedItems()); }
public override bool Passes(Item item) { ItemFilter placeable = new FilterPlaceable(); return(placeable.Passes(item) && (MagicStorage.ContainsExactMatch(item.Name, "Banner"))); }
public override bool Passes(Item item) { ItemFilter placeable = new FilterPlaceable(); return(placeable.Passes(item) && (MagicStorage.ContainsExactMatch(item.Name, "Block") || MagicStorage.ContainsExactMatch(item.Name, "Brick") || item.createWall > 0)); }
public override bool Passes(Item item) { ItemFilter placeable = new FilterPlaceable(); return(placeable.Passes(item) && item.material); }