public override ActivationResult Activate(Designator designator, Map map)
        {
            var hitCount = DesignateAllThings(designator, map,
                                              t => t is Plant p && p.Blighted && !p.HasDesignation(DesignationDefOf.CutPlant));

            return(ActivationResult.FromCount(hitCount, BaseTextKey));
        }
        public override ActivationResult Activate(Designator designator, Map map)
        {
            var playerFaction = Faction.OfPlayer;
            var hitCount      = DesignateAllThings(designator, map, t => t.Faction != playerFaction);

            return(ActivationResult.FromCount(hitCount, BaseTextKey));
        }
Пример #3
0
        public override ActivationResult Activate(Designator designator, Map map)
        {
            int hitCount = 0;

            foreach (var blueprint in map.listerThings.ThingsInGroup(ThingRequestGroup.Blueprint).ToArray())
            {
                blueprint.Destroy(DestroyMode.Cancel);
                hitCount++;
            }
            return(ActivationResult.FromCount(hitCount, BaseMessageKey));
        }
        public override ActivationResult Activate(Designator designator, Map map)
        {
            int  hitCount        = 0;
            bool friendliesFound = false;

            foreach (var thing in map.listerThings.ThingsInGroup(DesignationRequestGroup))
            {
                if (ThingIsValidForDesignation(thing) && designator.CanDesignateThing(thing).Accepted)
                {
                    designator.DesignateThing(thing);
                    hitCount++;
                    if (AllowToolUtility.PawnIsFriendly(thing))
                    {
                        friendliesFound = true;
                    }
                }
            }
            if (hitCount > 0 && friendliesFound)
            {
                Messages.Message("Designator_context_finish_allies".Translate(hitCount), MessageTypeDefOf.CautionInput);
            }
            return(ActivationResult.FromCount(hitCount, BaseTextKey));
        }
        protected ActivationResult ActivateInHomeArea(Designator designator, Map map)
        {
            var hitCount = DesignateAllThingsInHomeArea(designator, map);

            return(ActivationResult.FromCount(hitCount, BaseMessageKey));
        }
        public virtual ActivationResult Activate(Designator designator, Map map)
        {
            var hitCount = DesignateAllThings(designator, map, null);

            return(ActivationResult.FromCount(hitCount, BaseMessageKey));
        }
        public override ActivationResult Activate(Designator designator, Map map)
        {
            var hitCount = DesignateAllThings(designator, map, CanAutoDesignateThingForUrgentHauling);

            return(ActivationResult.FromCount(hitCount, BaseMessageKey));
        }
Пример #8
0
        protected ActivationResult ActivateWithFilter(Designator designator, Map map, Predicate <Thing> thingFilter)
        {
            var hitCount = DesignateAllThings(designator, map, thingFilter);

            return(ActivationResult.FromCount(hitCount, BaseMessageKey));
        }