示例#1
0
        public static bool Run(AlienUtils.ReturnAlienBaby returnBaby)
        {
            Common.DebugNotify("ReturnAlienBabyEx" + Common.NewLine
                               + " - Actor:" + returnBaby.Actor.FullName + Common.NewLine
                               + " - Target: " + returnBaby.Target.FullName);

            bool flag = TwoButtonDialog.Show(
                Common.Localize("ReturnAlienBabyEx:Dialogue"),
                Common.Localize("ReturnAlienBabyEx:DialogueAccept"),
                Common.Localize("ReturnAlienBabyEx:DialogueReject"));

            if (flag)
            {
                AgingManager.Singleton.CancelAgingAlarmsForSim(returnBaby.Target.SimDescription.AgingState);
                returnBaby.Target.DisableInteractions();
                returnBaby.Target.InteractionQueue.CancelAllInteractions();
                returnBaby.mEffect = VisualEffect.Create("ep8BabyTeleportFx");
                returnBaby.mEffect.SetPosAndOrient(returnBaby.Target.Position, returnBaby.Target.ForwardVector, returnBaby.Target.UpVector);
                returnBaby.mEffect.Start();
                returnBaby.Target.FadeOut(true);
                List <IGenealogy> list = new List <IGenealogy>(returnBaby.Target.Genealogy.IParents);
                list.AddRange(returnBaby.Target.Genealogy.ISiblings);

                foreach (IGenealogy current in list)
                {
                    returnBaby.Target.Genealogy.RemoveDirectRelation(current);
                }

                returnBaby.Actor.Household.Remove(returnBaby.Target.SimDescription);
                returnBaby.Target.SimDescription.Dispose();
                Simulator.Sleep(30u);
            }

            return(true);
        }
示例#2
0
        public static bool Run(AlienUtils.ReturnAlienBaby ths)
        {
            bool flag = TwoButtonDialog.Show(
                Localization.LocalizeString("Duglarogg/Abductor/Interactions/ReturnAlienBabyEx:Dialogue"),
                Localization.LocalizeString("Duglarogg/Abductor/Interactions/ReturnAlienBabyEx:DialogueAccept"),
                Localization.LocalizeString("Duglarogg/Abductor/Interactions/ReturnAlineBabyEx:DialogueReject"));

            if (flag)
            {
                SimDescription description = ths.Target.SimDescription;
                ths.Target.DisableInteractions();
                ths.Target.InteractionQueue.CancelAllInteractions();
                ths.mEffect = VisualEffect.Create("ep8BabyTeleportFx");
                ths.mEffect.SetPosAndOrient(ths.Target.Position, ths.Target.ForwardVector, ths.Target.UpVector);
                ths.mEffect.Start();
                ths.Target.FadeOut(true);
                List <IGenealogy> list = new List <IGenealogy>(description.Genealogy.IParents);
                list.AddRange(description.Genealogy.ISiblings);

                foreach (IGenealogy current in list)
                {
                    description.Genealogy.RemoveDirectRelation(current);
                }

                ths.Actor.Household.Remove(description);
                description.Dispose();
                Simulator.Sleep(30u);
            }

            return(true);
        }