public static void SaveBuilding(Thing thing, Map map) { if (!BuildingReviver.CanDo(thing)) { return; } DestroyedBuildings comp = map.GetComponent <DestroyedBuildings>(); Log.Message($"Saving {thing} to {map}:{thing.Position}"); comp.destroyedBuildings[thing.Position] = thing; }
public static void ReviveBuilding(Thing newBuilding, IntVec3 pos, Map map) { DestroyedBuildings comp = map.GetComponent <DestroyedBuildings>(); if (comp.destroyedBuildings.TryGetValue(pos, out Thing building)) { Log.Message($"got {building}"); BuildingReviver.Transfer(building, newBuilding); comp.destroyedBuildings.Remove(pos); } }