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); }
private void OnRouteToLotFailed(Sim actor, float x) { if (actor.LotCurrent != Parent.Lot) { if (mFirst) { mFirst = false; ForceSituationSpecificInteraction(Parent.Lot, actor, ManagerSituation.GetVisitInteraction(actor, Parent.Lot), null, OnRouteToLotSucceeded, OnRouteToLotFailed, InteractionPriorityLevel.UserDirected); } else { Exit(); } } else { OnRouteToLotSucceeded(actor, x); } }