private void InterfaceDrop(Thing thing, ShipBase ship) { ship.GetDirectlyHeldThings().TryDrop(thing, ThingPlaceMode.Near, out thing); if (thing is Pawn) { Pawn pawn = (Pawn)thing; Lord LoadLord = LoadShipCargoUtility.FindLoadLord(ship, ship.Map); if (LoadLord != null) { LoadLord.ownedPawns.Remove(pawn); } } }
public void TryRemoveLord(Map map) { Lord lord = LoadShipCargoUtility.FindLoadLord(ship, map); if (lord != null) { for (int i = 0; i < lord.ownedPawns.Count; i++) { lord.ownedPawns[i].jobs.EndCurrentJob(Verse.AI.JobCondition.InterruptForced); // lord.ownedPawns[i].ClearMind(); } map.lordManager.RemoveLord(lord); } }
public void TryRemoveLord(Map map) { List <Pawn> pawns = new List <Pawn>(); Lord lord = LoadShipCargoUtility.FindLoadLord(ship, map); if (lord != null) { pawns.AddRange(lord.ownedPawns); map.lordManager.RemoveLord(lord); } foreach (Pawn p in pawns) { Lord lord1 = p.GetLord(); } }
public void TryRemoveLord(Map map) { if (map != null) { List <Pawn> pawns = new List <Pawn>(); Lord lord = LoadShipCargoUtility.FindLoadLord(ship, map); if (lord != null) { foreach (Pawn p in pawns) { lord.Notify_PawnLost(p, PawnLostCondition.LeftVoluntarily); } map.lordManager.RemoveLord(lord); } } }