Exemplo n.º 1
0
        public override bool StateCanOccur(Pawn pawn)
        {
            bool result;

            if (!base.StateCanOccur(pawn))
            {
                result = false;
            }
            else
            {
                Building_Bed ownedBed = pawn.ownership.OwnedBed;
                if (ownedBed == null || ownedBed.GetRoom(RegionType.Set_Passable) == null || ownedBed.GetRoom(RegionType.Set_Passable).PsychologicallyOutdoors)
                {
                    result = false;
                }
                else
                {
                    MentalStateWorker_BedroomTantrum.tmpThings.Clear();
                    TantrumMentalStateUtility.GetSmashableThingsIn(ownedBed.GetRoom(RegionType.Set_Passable), pawn, MentalStateWorker_BedroomTantrum.tmpThings, null, 0);
                    bool flag = MentalStateWorker_BedroomTantrum.tmpThings.Any <Thing>();
                    MentalStateWorker_BedroomTantrum.tmpThings.Clear();
                    result = flag;
                }
            }
            return(result);
        }
        protected override void GetPotentialTargets(List <Thing> outThings)
        {
            outThings.Clear();
            Building_Bed ownedBed = pawn.ownership.OwnedBed;

            if (ownedBed != null)
            {
                if (ownedBed.GetRoom() != null && !ownedBed.GetRoom().PsychologicallyOutdoors)
                {
                    TantrumMentalStateUtility.GetSmashableThingsIn(ownedBed.GetRoom(), pawn, outThings, GetCustomValidator());
                }
                else
                {
                    TantrumMentalStateUtility.GetSmashableThingsNear(pawn, ownedBed.Position, outThings, GetCustomValidator(), 0, 8);
                }
            }
        }
        protected override void GetPotentialTargets(List <Thing> outThings)
        {
            outThings.Clear();
            Building_Bed ownedBed = this.pawn.ownership.OwnedBed;

            if (ownedBed == null)
            {
                return;
            }
            if (ownedBed.GetRoom(RegionType.Set_Passable) != null && !ownedBed.GetRoom(RegionType.Set_Passable).PsychologicallyOutdoors)
            {
                TantrumMentalStateUtility.GetSmashableThingsIn(ownedBed.GetRoom(RegionType.Set_Passable), this.pawn, outThings, this.GetCustomValidator(), 0);
            }
            else
            {
                TantrumMentalStateUtility.GetSmashableThingsNear(this.pawn, ownedBed.Position, outThings, this.GetCustomValidator(), 0, 8);
            }
        }
Exemplo n.º 4
0
        public override bool StateCanOccur(Pawn pawn)
        {
            if (!base.StateCanOccur(pawn))
            {
                return(false);
            }
            Building_Bed ownedBed = pawn.ownership.OwnedBed;

            if (ownedBed == null || ownedBed.GetRoom() == null || ownedBed.GetRoom().PsychologicallyOutdoors)
            {
                return(false);
            }
            tmpThings.Clear();
            TantrumMentalStateUtility.GetSmashableThingsIn(ownedBed.GetRoom(), pawn, tmpThings);
            bool result = tmpThings.Any();

            tmpThings.Clear();
            return(result);
        }