public static void OnSimOutfitCategoryChanged(OutfitCategories outfitCategory) { try { CASClothingState state = CASClothing.CASClothingStateFromOutfitCategory(outfitCategory); if (CASPuck.Instance != null) { CASPuck.Instance.OnDynamicUpdateCurrentSimThumbnail(); } CASController controller = CASController.Singleton; if (controller != null) { controller.SetCurrentState(new CASState(CASTopState.CreateASim, CASMidState.Clothing, CASPhysicalState.None, state)); controller.Activate(true); } CASClothing ths = CASClothing.gSingleton; if (ths != null) { ths.UpdateState(state); } } catch (Exception e) { Common.Exception("OnSimOutfitCategoryChanged", e); } }
public static void OnCloseClick(WindowBase sender, UIButtonClickEventArgs eventArgs) { try { CASPuck ths = CASPuck.gSingleton; if (ths == null) { return; } //Common.DebugNotify(delegate { return "UiBusy: " + ths.mUiBusy + Common.NewLine + "LeaveCAS: " + ths.mLeaveCAS; }); //if (!ths.UiBusy && !ths.mLeaveCAS) { ths.UiBusy = true; Simulator.AddObject(new Sims3.UI.OneShotFunctionTask(delegate { string entryKey = (Responder.Instance.CASModel.CASMode == CASMode.Full) ? "Ui/Caption/CAS/ExitDialog:Prompt" : "Ui/Caption/CAS/ExitDialog:AlternatePrompt"; if (TwoButtonDialog.Show(Common.LocalizeEAString(entryKey), Common.LocalizeEAString("Ui/Caption/Global:Yes"), Common.LocalizeEAString("Ui/Caption/Global:No"))) { CASController singleton = CASController.Singleton; singleton.AllowCameraMovement(false); ICASModel cASModel = Responder.Instance.CASModel; while (cASModel.IsProcessing()) { SpeedTrap.Sleep(); } Sims.CASBase.sWasCanceled = true; sender.Enabled = false; cASModel.RequestClearChangeReport(); singleton.SetCurrentState(CASState.None); } else { ths.UiBusy = false; } })); eventArgs.Handled = true; } } catch (Exception e) { Common.Exception("OnCloseClick", e); } }
private static void CreateSimCallback(CASAgeGenderFlags species) { CASPuck ths = CASPuck.gSingleton; ICASModel cASModel = Responder.Instance.CASModel; CASController singleton = CASController.Singleton; /* * if ((species == (CASAgeGenderFlags.None | CASAgeGenderFlags.Human)) && (cASModel.NumSimsInHousehold >= CASPuck.kMaxSimsPerHousehold)) * { * singleton.ErrorMsg(CASErrorCode.TooManySims); * } * else if ((species != (CASAgeGenderFlags.None | CASAgeGenderFlags.Human)) && (cASModel.NumPetsInHousehold >= CASPuck.kMaxPetsPerHousehold)) * { * singleton.ErrorMsg(CASErrorCode.TooManyPets); * } */ if (cASModel.NumInHousehold >= CASPuck.kMaxPerHousehold) { singleton.ErrorMsg(CASErrorCode.TooMany); } else { ths.mAttemptingToAdd = true; if (species == CASAgeGenderFlags.Human) { CASController.Singleton.SetCurrentState(CASState.Summary); ths.mAttemptingToAddSim = true; cASModel.RequestCreateNewSim(); } else { CASController.Singleton.SetCurrentState(CASState.PetSummary); ths.mAttemptingToAddPet = true; cASModel.RequestCreateNewPet(species); } CASPuck.ShowInputBlocker(); } ths.UpdateAddSimButtons(); }
public static void OnExitFullEditMode() { try { CASController ths = CASController.gSingleton; if (ths == null) { return; } ICASModel casModel = Responder.Instance.CASModel; if (casModel == null) { return; } bool reprocess = false; switch (casModel.CASMode) { case CASMode.Full: if ((casModel.CurrentSimDescription != null) && (casModel.CurrentSimDescription.IsHuman)) { reprocess = true; } break; case CASMode.Dresser: reprocess = true; break; case CASMode.Mirror: reprocess = true; break; case CASMode.Stylist: reprocess = true; break; } /* * // Corrects for a bounce issue in CASDresserSheet:Init() with foreign language users * if ((ths.mCurrUINode == null) && (casModel.CASMode == CASMode.Stylist) && (casModel.SelectionIndex != 0x1)) * { * if (CASDresserSheet.gSingleton == null) * { * CASDresserSheet.Load(); * CASDresserSheet.gSingleton.UINodeShutdown += ths.SetState; * * Window newWindow, oldWindow; * CASDresserSheetEx.GetWindows(out newWindow, out oldWindow); * * CASDresserSheetEx.UpdateGlideEffects(newWindow); * * CASDresserSheetEx.UpdatePanelGlide(newWindow); * } * } */ ths.OnExitFullEditMode(); if (reprocess) { CASClothingCategoryEx.DelayedCategoryUpdate.Perform(); } } catch (Exception e) { Common.Exception("OnExitFullEditMode", e); } }