示例#1
0
 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);
         }
     }
 }
示例#2
0
        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);
            }
        }
示例#3
0
        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();
            }
        }
示例#4
0
 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);
         }
     }
 }