public static ListenerAction OnObjectChanged(Event evt) { if (evt.TargetObject is CarUFO) { AbductSimAEx.AddInteraction(evt.TargetObject as CarUFO); return(ListenerAction.Keep); } if (evt.TargetObject is RabbitHole) { if ((evt.TargetObject as RabbitHole).Guid == RabbitHoleType.Hospital) { HaveAlienBabyHospital.AddInteraction(evt.TargetObject as RabbitHole); } return(ListenerAction.Keep); } if (evt.TargetObject is Lot) { DebugTriggerAbduction.AddInteraction(evt.TargetObject as Lot); HaveAlienBabyHome.AddInteraction(evt.TargetObject as Lot); return(ListenerAction.Keep); } return(ListenerAction.Keep); }
public override void Init(AlienAbductionSituationEx parent) { CarUFO ufo = parent.Alien.Inventory.Find <CarUFO>(); if (ufo == null) { parent.CleanupAbduction(); return; } AbductSimAEx abductSim = ForceSituationSpecificInteraction(ufo, parent.Alien, AbductSimAEx.Singleton, null, new Callback(OnCompletion), new Callback(OnFailure), new InteractionPriority(InteractionPriorityLevel.CriticalNPCBehavior)) as AbductSimAEx; abductSim.SimToAbduct = parent.Abductee; }