public new static Item Create(Floor floor, Cell cell, char data) { var equipment = Equipment.Create(floor, cell, data); if (equipment != null) { return(equipment); } var scroll = Scroll.Create(floor, cell, data); if (scroll != null) { return(scroll); } var wand = Wand.Create(floor, cell, data); if (wand != null) { return(wand); } var pot = Pot.Create(floor, cell, data); if (pot != null) { return(pot); } var herb = Herb.Create(floor, cell, data); if (herb != null) { return(herb); } if (!IDs.Contains(data)) { return(null); } return(new Item(floor, cell, data)); }