Ejemplo n.º 1
0
        private static Name GetName(ThingDef pawnDef, Map map)
        {
            string             AIs   = "";
            IEnumerable <Pawn> pawns = Radar.FindAllPawns(map);

            if (pawns != null)
            {
                int c = pawns.Where(p => p.def.defName == pawnDef.defName).Count();

                if (c > 0)
                {
                    AIs = " " + (c + 1).ToString();
                }
            }

            string first = "AIPawn_Basename_first".Translate();      // "Mobile Artificial Intelligence"
            string nick  = "AIPawn_Basename_nick".Translate() + AIs; // "Mai" + AIs
            string last  = "AIPawn_Basename_last".Translate();       // " "

            if (enhancedAI)
            {
                nick = nick.ToUpper();
            }

            NameTriple pawnName = new NameTriple(first, nick, last);

            return(pawnName);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Search for pawn in the room
        /// </summary>
        /// <returns></returns>
        private bool SearchForPawnInRoom(Map map)
        {
            IEnumerable <Pawn> pawns;

            if (!pawnSearchModeDistanceActive)
            {
                pawns = Radar.FindAllPawnsInRoom(RegionAndRoomQuery.RoomAt(Position, map));
            }
            else
            {
                pawns = Radar.FindAllPawns(this.Position, map, radarDistancePawn);
            }

            return(pawns.Count() > 0);
        }