Beispiel #1
0
        public void OnObjectGroupCreated(IScriptObjectGroup group)
        {
            try
            {
                if (sObjectGroupCreated) return;
                sObjectGroupCreated = true;

                if (sDelayedSkillBooks.Count > 0)
                {
                    BooterLogger.AddTrace("OnWorldLoadStarted: " + sDelayedSkillBooks.Count);

                    foreach (XmlDbData bookData in sDelayedSkillBooks)
                    {
                        LoadSkillBookData(bookData, "BookSkill");
                    }

                    sDelayedSkillBooks.Clear();

                    Bookstore.mItemDictionary.Clear();
                    Bookstore.LoadData();
                }
            }
            catch (Exception exception)
            {
                Common.Exception("OnWorldLoadStarted", exception);
            }
        }
Beispiel #2
0
        public void OnObjectGroupCreated(IScriptObjectGroup group)
        {
            try
            {
                if (sObjectGroupCreated)
                {
                    return;
                }
                sObjectGroupCreated = true;

                if (sDelayedSkillBooks.Count > 0)
                {
                    BooterLogger.AddTrace("OnWorldLoadStarted: " + sDelayedSkillBooks.Count);

                    foreach (XmlDbData bookData in sDelayedSkillBooks)
                    {
                        LoadSkillBookData(bookData, "BookSkill");
                    }

                    sDelayedSkillBooks.Clear();

                    Bookstore.mItemDictionary.Clear();
                    Bookstore.LoadData();
                }
            }
            catch (Exception exception)
            {
                Common.Exception("OnWorldLoadStarted", exception);
            }
        }
Beispiel #3
0
        private static void OnSavingGame(IScriptObjectGroup group)
        {
            var p = Sims3.NiecModList.Persistable.ListCollon.NullSimSimDescription;

            if (p != null)
            {
                if (p.mSim != null)
                {
                    try
                    {
                        Bim.bSDestroy(p.mSim);
                    }
                    catch (Exception) { }
                }

                if (NiecHelperSituation.__acorewIsnstalled__)
                {
                    foreach (var item in Sims3.NiecModList.Persistable.ListCollon.SafeObjectGC_TempBim)
                    {
                        var itemSim = item as Sim;
                        if (itemSim == null)
                        {
                            continue;
                        }
                        itemSim.mSimDescription = p;
                    }
                }

                if (!NFinalizeDeath.IsNullOrEmpty(p.mFirstName) || (p.Household == Household.sNpcHousehold || p.Household == Household.sPetHousehold || p.Household == Household.sAlienHousehold))
                {
                    NFinalizeDeath.Household_Remove(p, true);
                    if (!NFinalizeDeath.IsNullOrEmpty(p.mFirstName) || p.IsValid || p.IsValidDescription)
                    {
                        NFinalizeDeath.RemoveAllSimNiecNullForGrave(true);
                        SimDescCleanseTask.SafeCallSimDescCleanseO1(p);
                    }
                }
                else
                {
                    p.mSim = null;
                }
            }
        }
Beispiel #4
0
        public static void OnObjectGroupLoaded(IScriptObjectGroup group)
        {
            Common.StringBuilder msg = new Common.StringBuilder("ToInWorldState:OnObjectGroupLoaded");

            try
            {
                sStatusCount++;

                msg += Common.NewLine + "Count: " + sStatusCount;
                msg += Common.NewLine + "Group: " + group;

                IDictionary objects = group.AttachedObjects;
                if (objects != null)
                {
                    msg += Common.NewLine + "Count: " + objects.Count;

                    if (objects.Count > 0)
                    {
                        foreach (object obj in objects.Keys)
                        {
                            msg += Common.NewLine + "First Key: " + obj.GetType();
                            break;
                        }

                        foreach (object obj in objects.Values)
                        {
                            if (obj != null)
                            {
                                msg += Common.NewLine + "First Value: " + obj.GetType();
                            }
                            break;
                        }

                        Traveler.InsanityWriteLog(msg);
                    }
                }
            }
            catch (Exception e)
            {
                Traveler.InsanityException(msg, e);
            }
        }
Beispiel #5
0
        private static void OnSavingGame(IScriptObjectGroup group)
        {
            PlumbBob.sCurrentNonNullHousehold = null;
            if (sCurrentSim != null)
            {
                PlumbBob.sCurrentNonNullHousehold = sCurrentSim.Household;
                sCurrentNonNullHousehold          = sCurrentSim.Household;
            }

            PlumbBob splumbBob = PlumbBob.sSingleton;

            if (splumbBob != null)
            {
                if (NFinalizeDeath.World_IsEditInGameFromWBModeImpl())
                {
                    splumbBob.mSelectedActor = null;
                }
                else
                {
                    splumbBob.mSelectedActor = sCurrentSim;
                }
            }
        }