public void LostVillager(int amount, string[] names = null, bool leftNotKilled = false) { AddLoss(Resources.Type.PERSON, amount); if (names != null) { for (int i = 0; i < names.Length; ++i) { NamedEntry name = new NamedEntry(); name.type = NamedLossType.PERSON; name.name = names[i]; name.count = leftNotKilled ? 1 : -1; namedLoss.Add(name); } } else { for (int i = 0; i < amount; ++i) { NamedEntry name = new NamedEntry(); name.type = NamedLossType.PERSON; name.name = MesopotamianGenerator.instance.GetMesopotamian().mesopoNAMEian; name.count = leftNotKilled ? 1 : -1; namedLoss.Add(name); } } }
public void LostTile(string tileName, int amount = 1) { for (int i = 0; i < namedLoss.Count; ++i) { if (namedLoss[i].type == NamedLossType.TILE && namedLoss[i].name == tileName) { // if it exists increase it's (negative) magnitude: NamedEntry entry = namedLoss[i]; entry.count -= amount; namedLoss[i] = entry; return; } } // otherwise add it: NamedEntry e; e.type = NamedLossType.TILE; e.name = tileName; e.count = -amount; namedLoss.Add(e); }