public void PlaceItem(string item, string location) { if (shopItems.ContainsKey(location)) { shopItems[location].Add(item); } else { nonShopItems.Add(location, item); } UpdateOrder(location); unplacedLocations.Remove(location); if (LogicManager.GetItemDef(item).progression) { unplacedProgression.Remove(item); UpdateReachableLocations(item); } else { unplacedItems.Remove(item); } if (LogicManager.GetItemDef(item).pool == "Grub") { pm.AddGrubLocation(location); } else if (LogicManager.GetItemDef(item).pool == "Essence_Boss" || LogicManager.GetItemDef(item).pool == "Root") { pm.AddEssenceLocation(location, LogicManager.GetItemDef(item).geo); } else if (LogicManager.GetItemDef(item).pool == "Flame") { pm.AddFlameLocation(location); } }
public void PlaceItem(string item, string location) { if (shopItems.ContainsKey(location)) { shopItems[location].Add(item); } else { nonShopItems.Add(location, item); } unplacedLocations.Remove(location); if (LogicManager.GetItemDef(item).progression) { unplacedProgression.Remove(item); UpdateReachableLocations(item); } else { unplacedItems.Remove(item); } if (LogicManager.GetItemsByPool("Grub").Contains(item)) { pm.AddGrubLocation(location); } else if (LogicManager.GetItemsByPool("Root").Contains(item)) { pm.AddEssenceLocation(location, LogicManager.GetItemDef(item).geo); } Log("Placing " + item + " at " + location + ". There are " + reachableLocations.Count + " reachable locations and " + availableCount + " available locations."); }