コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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();
        }
コード例 #4
0
ファイル: CASControllerEx.cs プロジェクト: yakoder/NRaas
        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);
            }
        }