public override void Init(ForeignVisitorsSituation parent) { try { if (parent.Host.IsSelectable) { StyledNotification.Show(new StyledNotification.Format(Localization.LocalizeString("Gameplay/Situations/InviteForeignVisitors:GoPrepare", new object[] { parent.Host }), StyledNotification.NotificationStyle.kGameMessagePositive)); } parent.Host.Motives.CreateMotive(parent.PreparationMotive()); parent.OnPreparation(); float time = SimClock.ElapsedTime(TimeUnit.Hours, SimClock.CurrentTime(), Parent.StartTime) - parent.GetParams().HoursBeforePartyToInvite; if (time <= 0f) { Parent.SetState(new TryInviteEx(Parent)); } else { mAlarmGuestInvite = AlarmManager.AddAlarm(time, TimeUnit.Hours, TimeToInviteGuestsEx, "Invite Guests To Foreign Visitors Situation", AlarmType.AlwaysPersisted, Parent.Host); AlarmManager.AlarmWillYield(mAlarmGuestInvite); } } catch (Exception e) { Common.Exception("PrepareEx:Init", e); } }
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); } }