public override void Startup() { // From StateMachine:Startup mBaseCallFlag |= BaseCallFlag.kStartup; // From InWorldSubState while (sDelayNextStateStartupCount > 0x0) { SpeedTrap.Sleep(0x0); } EventTracker.SendEvent(new InWorldSubStateEvent(this, true)); // From EditTownState if (SeasonsManager.Enabled) { SeasonsManager.OnEnterEditTown(); } AudioManager.MusicMode = MusicMode.EditTown; UserToolUtils.UserToolGeneric(0xc8, new ResourceKey(0x0L, 0x0, 0x0)); BorderTreatmentsController.Hide(); GameUtils.Pause(); base.PlaceLotWizardCheck(); EditTownController.Load(); Tutorialette.TriggerLesson(Lessons.EditTown, null); Tutorialette.TriggerLesson(Lessons.PlacingNewVenues, null); //Household.DestroyHouseholdsWithoutGuardians(); CASExitLoadScreen.Close(); InWorldSubState.EdgeScrollCheck(); InWorldSubState.OpportunityDialogCheck(); }
public static void SplitHousehold(EditTownController ths, UIBinInfo from) { try { if (ths == null) { return; } Household household = Household.Find(from.HouseholdId); if (household != null) { IMovingModel model = new GameEntryMovingModelEx(household); if (model != null) { EditTownSplitDialog.Show(model); Simulator.AddObject(new OneShotFunctionWithParams(ths.SplitHouseholdsTask, from)); } } } catch (Exception e) { Common.Exception("SplitHousehold", e); } }
public static void MergeHouseholds(EditTownController ths, UIBinInfo from, UIBinInfo to) { try { Household household = Household.Find(from.HouseholdId); if (household != null) { IMovingModel model = new GameEntryMovingModelEx(household); if (model != null) { model.SetTargetLot(to.LotId); EditTownMergeDialog.Show(model); Common.FunctionTask.Perform(ths.MergeHouseholdsTask); } } } catch (Exception e) { Common.Exception("MergeHouseholds", e); } }
public static void ChangeLotTypeTask(object obj) { try { EditTownController ths = EditTownController.Instance; UIBinInfo info = obj as UIBinInfo; if ((info != null) && (info.LotId != ulong.MaxValue)) { ths.mModel.SetCurrentSelection(null, InfoSource.Unknown); ILocalizationModel localizationModel = Sims3.UI.Responder.Instance.LocalizationModel; LotType lotType = info.LotType; CommercialLotSubType commercialLotSubType = info.CommercialLotSubType; ResidentialLotSubType residentialLotSubType = info.ResidentialLotSubType; string lotTypeName = ""; if (ChangeLotTypeDialogEx.Show(ref lotType, ref commercialLotSubType, ref residentialLotSubType, ref lotTypeName, info.IsHouseboatLot)) { if (((lotType == LotType.Commercial) && (commercialLotSubType == CommercialLotSubType.kEP1_BaseCamp)) && ths.mModel.IsAnyLotBaseCamp()) { string titleText = Common.LocalizeEAString("Ui/Caption/Global:Failed"); string messageText = Common.LocalizeEAString("Ui/Caption/GameEntry/EditTown/EP01:BaseCampExists"); SimpleMessageDialog.Show(titleText, messageText, ModalDialog.PauseMode.PauseSimulator, new Vector2(-1f, -1f), "ui_error", "ui_hardwindow_close"); } else if (((lotType == LotType.Commercial) && (commercialLotSubType == CommercialLotSubType.kEP11_BaseCampFuture)) && ths.mModel.IsAnyLotBaseCamp()) { string str4 = localizationModel.LocalizeString("Ui/Caption/Global:Failed", new object[0]); string str5 = localizationModel.LocalizeString("Ui/Caption/GameEntry/EditTown/EP11:BaseCampFutureExists", new object[0]); SimpleMessageDialog.Show(str4, str5, ModalDialog.PauseMode.PauseSimulator, new Vector2(-1f, -1f), "ui_error", "ui_hardwindow_close"); } else if (EditTownModelEx.ChangeLotType(info.LotId, false, lotType, commercialLotSubType, residentialLotSubType)) { EditTownController.AlertLotTypeChangeSuccess(info, localizationModel, lotType, lotTypeName); } else { string promptText = string.Empty; if (commercialLotSubType == CommercialLotSubType.kEP10_Resort) { promptText = localizationModel.LocalizeString("Ui/Caption/GameEntry/EditTown:LotTypeResortFailed", new object[] { info.LotAddress }); } else { promptText = localizationModel.LocalizeString((lotType == LotType.Commercial) ? "Ui/Caption/GameEntry/EditTown:LotTypeCommunityFailed" : "Ui/Caption/GameEntry/EditTown:LotTypeResidentialFailed", new object[] { info.LotAddress }); } if (AcceptCancelDialog.Show(promptText)) { if (EditTownModelEx.ChangeLotType(info.LotId, true, lotType, commercialLotSubType, residentialLotSubType)) { EditTownController.AlertLotTypeChangeSuccess(info, localizationModel, lotType, lotTypeName); EditTownMaptagController.Instance.ResetMaptags(); } else { string str5 = Common.LocalizeEAString("Ui/Caption/Global:Failed"); promptText = Common.LocalizeEAString("Ui/Caption/GameEntry/EditTown:LotTypeChangeFailed"); SimpleMessageDialog.Show(str5, promptText, ModalDialog.PauseMode.PauseSimulator, new Vector2(-1f, -1f), "ui_error", "ui_hardwindow_close"); } } } } } } catch (Exception e) { Common.Exception("ChangeLotTypeTask", e); } }
public static void SplitHousehold(EditTownController ths, UIBinInfo from) { try { if (ths == null) return; Household household = Household.Find(from.HouseholdId); if (household != null) { IMovingModel model = new GameEntryMovingModelEx(household); if (model != null) { EditTownSplitDialog.Show(model); Simulator.AddObject(new OneShotFunctionWithParams(ths.SplitHouseholdsTask, from)); } } } catch (Exception e) { Common.Exception("SplitHousehold", e); } }