示例#1
0
 public override void CleanUp()
 {
     Parent.mSimB.SocialComponent.RemoveShortTermDesireToSocializeWith(Parent.mSimA);
     Parent.mSimA.SocialComponent.RemoveShortTermDesireToSocializeWith(Parent.mSimB);
     AlarmManager.RemoveAlarm(mAlarmHandle);
     base.CleanUp();
 }
示例#2
0
 public override void CleanUp()
 {
     Parent.Host.Motives.RemoveMotive(Parent.PreparationMotive());
     AlarmManager.RemoveAlarm(mAlarmHandle);
     AlarmManager.RemoveAlarm(mAlarmGuestInvite);
     base.CleanUp();
 }
示例#3
0
            public override void Init(GoToLotSituation parent)
            {
                AlarmManager.RemoveAlarm(mAlarmHandle);
                mAlarmHandle = AlarmManager.AddAlarm(Sims3.Gameplay.Situations.InviteToLotSituation.kNumHoursForHangingOutToWaitBeforeExiting, TimeUnit.Hours, TimeOut, "Waiting for Sims to hang out before leaving", AlarmType.NeverPersisted, Parent.mSimA);

                parent.mSimA.SocialComponent.AddShortTermDesireToSocializeWith(parent.mSimB, Sims3.Gameplay.Situations.InviteToLotSituation.kDesireToSocialize);
                parent.mSimB.SocialComponent.AddShortTermDesireToSocializeWith(parent.mSimA, Sims3.Gameplay.Situations.InviteToLotSituation.kDesireToSocialize);
            }
示例#4
0
            public override void Init(GoToLotSituation parent)
            {
                AlarmManager.RemoveAlarm(mAlarmHandle);
                mAlarmHandle = AlarmManager.AddAlarm(Sims3.Gameplay.Situations.InviteToLotSituation.kNumHoursForBothGoToLotToWaitBeforeGivingUp, TimeUnit.Hours, TimeOut, "Waiting for Sims to get to lot", AlarmType.NeverPersisted, Parent.mSimA);

                ForceSituationSpecificInteraction(parent.Lot, parent.mSimA, ManagerSituation.GetVisitInteraction(parent.mSimA, parent.Lot), null, OnRouteToLotSucceeded, OnRouteToLotFailed, InteractionPriorityLevel.UserDirected);
                ForceSituationSpecificInteraction(parent.Lot, parent.mSimB, ManagerSituation.GetVisitInteraction(parent.mSimB, parent.Lot), null, OnRouteToLotSucceeded, OnRouteToLotFailed, InteractionPriorityLevel.UserDirected);
            }
示例#5
0
        public override void CleanUp()
        {
            Sim.sOnLotChangedDelegates -= OnLotChanged;

            mSimA.RemoveRole(this);
            mSimB.RemoveRole(this);
            AlarmManager.RemoveAlarm(mPulse);
            base.CleanUp();
        }
示例#6
0
        private void MappingAlarmForm_OnOKClick(object sender, EventArgs e)
        {
            timer.Tick -= Timer_Tick;
            var loadportLogicHandler = loadport;

            AlarmManager.RemoveAlarm(AlarmManager.MappingAlarmStop);
            loadportLogicHandler.Transition(loadportLogicHandler.LoadOut);
            Close();
        }
示例#7
0
        protected static bool RemoveAlarm(AlarmManager manager, AlarmManager.Timer timer)
        {
            int count = manager.mTimers.Count;
            manager.RemoveAlarm(timer.Handle);
            if (count != manager.mTimers.Count)
            {
                return true;
            }

            foreach (KeyValuePair<AlarmHandle, List<AlarmManager.Timer>> timers in manager.mTimers)
            {
                if (timers.Value.Contains(timer))
                {
                    manager.RemoveAlarm(timers.Key);
                    if (count != manager.mTimers.Count)
                    {
                        return true;
                    }
                }
            }

            return false;
        }
示例#8
0
            public override void Init(GoToLotSituation parent)
            {
                parent.mHaveBothSimsArrivedAtTheLot = true;

                if (parent.mFirstAction != null)
                {
                    if (!parent.mFirstAction(parent, this))
                    {
                        Exit();
                    }
                }

                AlarmManager.RemoveAlarm(mAlarmHandle);
                mAlarmHandle = AlarmManager.AddAlarm(Sims3.Gameplay.Situations.InviteToLotSituation.kNumHoursForMeetUpToWaitBeforeGivingUp, TimeUnit.Hours, TimeOut, "Waiting for Sims to get to lot", AlarmType.NeverPersisted, Parent.mSimA);
            }
示例#9
0
        public GoToLotSituation(Sim simA, Sim simB, Lot lot, FirstActionDelegate firstAction)
            : base(lot)
        {
            Sim.sOnLotChangedDelegates += OnLotChanged;

            mFirstAction = firstAction;

            foreach (Situation situation in new List <Situation>(simA.Autonomy.SituationComponent.Situations))
            {
                if (situation is GroupingSituation)
                {
                    try
                    {
                        situation.Exit();
                    }
                    catch (Exception e)
                    {
                        Common.DebugException(mSimA, e);
                    }
                }
            }

            foreach (Situation situation in new List <Situation>(simB.Autonomy.SituationComponent.Situations))
            {
                if (situation is GroupingSituation)
                {
                    try
                    {
                        situation.Exit();
                    }
                    catch (Exception e)
                    {
                        Common.DebugException(mSimB, e);
                    }
                }
            }

            mSimA = simA.AssignRole(this);
            mSimB = simB.AssignRole(this);

            AlarmManager.RemoveAlarm(mPulse);
            mPulse = AlarmManager.AddAlarmRepeating((float)Sims3.Gameplay.Situations.InviteToLotSituation.kPulseMinutes, TimeUnit.Minutes, Pulse, (float)Sims3.Gameplay.Situations.InviteToLotSituation.kPulseMinutes, TimeUnit.Minutes, "InviteToLot pulse", AlarmType.NeverPersisted, mSimA);

            SetState(new BothGoToLot(this));
        }
示例#10
0
            public override void Init(ForeignVisitorsSituation parent)
            {
                try
                {
                    base.Init(parent);

                    AlarmManager.RemoveAlarm(mAlarmHandle);

                    float time = SimClock.ElapsedTime(TimeUnit.Hours, SimClock.CurrentTime(), Parent.StartTime) - parent.GetParams().PreparationTime;
                    if (time <= 0)
                    {
                        Parent.SetState(new PrepareEx(Parent));
                    }
                    else
                    {
                        mAlarmHandle = AlarmManager.AddAlarm(time, TimeUnit.Hours, TimeToPrepareEx, "Prepare Foreign Visit", AlarmType.AlwaysPersisted, Parent.Host);
                    }
                }
                catch (Exception e)
                {
                    Common.Exception("WaitForPreparationsEx:Init", e);
                }
            }
示例#11
0
 public override void CleanUp()
 {
     AlarmManager.RemoveAlarm(mAlarmHandle);
     AlarmManager.RemoveAlarm(mWait);
     base.CleanUp();
 }