コード例 #1
0
        protected static void OnHolidayStarted()
        {
            Common.DebugNotify("OnHolidayStarted");

            HolidayManager ths = HolidayManager.sInstance;

            if (ths == null)
            {
                return;
            }

            if (SeasonsManager.sInstance == null)
            {
                return;
            }

            ths.OnHolidayStarted();

            if (!Tempest.Settings.mAllowHolidayParties)
            {
                NpcSeasonalPartyManager.ClearData(true);
            }

            sHolidayAlarm.Dispose();
            sHolidayAlarm = null;
        }
コード例 #2
0
 public void OnWorldQuit()
 {
     if (sHolidayAlarm != null)
     {
         sHolidayAlarm.Dispose();
         sHolidayAlarm = null;
     }
 }
コード例 #3
0
ファイル: HolidayManagerEx.cs プロジェクト: GnatGoSplat/NRaas
 public void OnWorldQuit()
 {
     if (sHolidayAlarm != null)
     {
         sHolidayAlarm.Dispose();
         sHolidayAlarm = null;
     }
 }
コード例 #4
0
 public ServiceData()
 {
     mWasRandom          = false;
     mPush               = null;
     mLotPush            = null;
     mProfessional       = 0;
     mRequester          = 0;
     autonomyWasDisabled = false;
     mStyle              = CommonWoohoo.WoohooStyle.Safe;
 }
コード例 #5
0
        public void RemoveAlarm(Common.AlarmTask alarm)
        {
            if (alarm == null)
            {
                return;
            }

            alarm.Dispose();

            mAlarms.Remove(alarm);
        }
コード例 #6
0
        public static void RestartAlarm()
        {
            if (sTask != null)
            {
                sTask.Dispose();
                sTask = null;
            }

            if (Settings.NightlyRandomChangeOutfit)
            {
                sTask = new Common.AlarmTask(Settings.NightlyChangeOutfitHour, DaysOfTheWeek.All, OnTimer);
            }
        }
コード例 #7
0
        public override void Shutdown()
        {
            base.Shutdown();

            mFirst = true;

            if (mTask != null)
            {
                mTask.Dispose();
                mTask = null;
            }

            foreach (Manager manager in mManagers)
            {
                try
                {
                    manager.Shutdown();
                }
                catch (Exception e)
                {
                    Common.DebugException(manager.UnlocalizedName, e);
                }
            }

            mRunning = false;

            mManagers      = null;
            mManagerLookup = null;

            mScenarioManager  = null;
            mSimManager       = null;
            mHouseholdManager = null;
            mLotManager       = null;

            sOptions = null;
        }
コード例 #8
0
 public ServiceData()
 {
     mWasRandom = false;
     mPush = null;
     mLotPush = null;
     mProfessional = 0;
     mRequester = 0;
     autonomyWasDisabled = false;
     mStyle = CommonWoohoo.WoohooStyle.Safe;
 }            
コード例 #9
0
 public void SetupAlarm()
 {
     this.mPush = new Common.AlarmTask(5, TimeUnit.Minutes, CheckWoohoo, 10, TimeUnit.Minutes);
 }
コード例 #10
0
ファイル: TooltipHelper.cs プロジェクト: yakoder/NRaas
 public static void SetAlarm()
 {
     sCurrentAlarm = new Common.AlarmTask(2f, Sims3.Gameplay.Utilities.TimeUnit.Minutes, HideCurrentTooltip);
 }
コード例 #11
0
ファイル: Dresser.cs プロジェクト: Robobeurre/NRaas
        public static void RestartAlarm()
        {
            if (sTask != null)
            {
                sTask.Dispose();
                sTask = null;
            }

            if (Settings.NightlyRandomChangeOutfit)
            {
                sTask = new Common.AlarmTask(Settings.NightlyChangeOutfitHour, DaysOfTheWeek.All, OnTimer);
            }
        }
コード例 #12
0
ファイル: HolidayManagerEx.cs プロジェクト: GnatGoSplat/NRaas
        protected static void OnHolidayStarted()
        {
            Common.DebugNotify("OnHolidayStarted");

            HolidayManager ths = HolidayManager.sInstance;
            if (ths == null) return;

            if (SeasonsManager.sInstance == null) return;

            ths.OnHolidayStarted();

            if (!Tempest.Settings.mAllowHolidayParties)
            {
                NpcSeasonalPartyManager.ClearData(true);
            }

            sHolidayAlarm.Dispose();
            sHolidayAlarm = null;
        }
コード例 #13
0
 public AlarmManagerReference(StoryProgressionObject manager, Common.AlarmTask alarm)
 { 
     mManager = manager;
     mAlarm = alarm;
 }
コード例 #14
0
 public void Dispose()
 {
     mManager.RemoveAlarm(mAlarm);
     mAlarm = null;
 }
コード例 #15
0
ファイル: HolidayManagerEx.cs プロジェクト: GnatGoSplat/NRaas
        private static void SetUpHolidayManager(Season currentSeason, bool clear)
        {
            HolidayManager ths = HolidayManager.sInstance;
            if (ths == null) return;

            if (SeasonsManager.sInstance == null) return;

            if (clear)
            {
                ths.ClearCurrentHoliday();
            }

            if (SeasonsManager.GetSeasonEnabled(currentSeason))
            {
                if (ths.mStartDateTimeOfHoliday == DateAndTime.Invalid)
                {
                    ths.OnHolidayDone();

                    CalculateDateTimeOfHoliday(ths, ref currentSeason);

                    if (ths.mStartDateTimeOfHoliday != DateAndTime.Invalid)
                    {
                        ths.mCurrentSeason = currentSeason;
                        ths.SetHoliday();
                    }

                    if (TrickOrTreatSituation.NPCTrickOrTreatAlarm != AlarmHandle.kInvalidHandle)
                    {
                        AlarmManager.Global.RemoveAlarm(TrickOrTreatSituation.NPCTrickOrTreatAlarm);
                        TrickOrTreatSituation.NPCTrickOrTreatAlarm = AlarmHandle.kInvalidHandle;
                    }
                }

                if (ths.mStartDateTimeOfHoliday != DateAndTime.Invalid)
                {
                    DateAndTime time = SimClock.CurrentTime();
                    long ticks = (ths.mStartDateTimeOfHoliday - time).Ticks;

                    Common.DebugNotify("Initiate Holiday Alarm: " + Common.NewLine + SimClock.CurrentTime() + Common.NewLine + ths.mStartDateTimeOfHoliday + Common.NewLine + ticks);

                    if (ticks > 0)
                    {
                        ths.ClearAllAlarms();
                        //ths.StartAlarms();

                        if (sHolidayAlarm != null)
                        {
                            sHolidayAlarm.Dispose();
                        }

                        sHolidayAlarm = new Common.AlarmTask(SimClock.ConvertFromTicks(ticks, TimeUnit.Hours), TimeUnit.Hours, OnHolidayStarted);

                        long ticksToWarning = ticks - SimClock.ConvertToTicks((float)HolidayManager.kDaysBeforeHolidayToShowWarningTNS, TimeUnit.Days);
                        if (ticksToWarning > 0)
                        {
                            ths.mShowWarningAlarm = AlarmManager.Global.AddAlarm(SimClock.ConvertFromTicks(ticksToWarning, TimeUnit.Hours), TimeUnit.Hours, ths.OnShowWarningTns, "ShowWarningTns", AlarmType.AlwaysPersisted, null);
                        }
                    }
                }
            }
        }
コード例 #16
0
 public void SetupAlarm()
 {
     this.mPush = new Common.AlarmTask(5, TimeUnit.Minutes, CheckWoohoo, 10, TimeUnit.Minutes);
 }
コード例 #17
0
 public void SetupPushAlarm()
 {
     this.mLotPush = new Common.AlarmTask(10, TimeUnit.Minutes, CheckArrival, 10, TimeUnit.Minutes);
 }
コード例 #18
0
        public override void Startup(PersistentOptionBase vOptions)
        {
            try
            {
                mManagers = new List <Manager>();

                Castes = new ManagerCaste(this);

                Lots = new ManagerLot(this);

                Households = new ManagerHousehold(this);

                Sims = new ManagerSim(this);

                Money = new ManagerMoney(this);

                Deaths = new ManagerDeath(this);

                Skills = new ManagerSkill(this);

                Careers = new ManagerCareer(this);

                Pregnancies = new ManagerPregnancy(this);

                Romances = new ManagerRomance(this);

                Flirts = new ManagerFlirt(this);

                Friends = new ManagerFriendship(this);

                Situations = new ManagerSituation(this);

                Personalities = new ManagerPersonality(this);

                Scenarios = new ManagerScenario(this);

                Scoring = new ManagerScoring(this);

                Stories = new ManagerStory(this);

                mManagerLookup = new Dictionary <Type, Manager>();
                mManagerLookup.Add(GetType(), this);

                mManagerByName = new Dictionary <string, Manager>();
                mManagerByName.Add(GetTitlePrefix(PrefixType.Pure), this);

                foreach (Manager manager in mManagers)
                {
                    mManagerLookup.Add(manager.GetType(), manager);
                    mManagerByName.Add(manager.GetTitlePrefix(PrefixType.Pure), manager);
                }

                InstallOptions(sInitialInstall);

                foreach (Manager manager in mManagers)
                {
                    manager.InstallOptions(sInitialInstall);
                }

                if (Common.IsAwayFromHomeworld())
                {
                    // Stop persistence for the moment
                    OptionStore optionStore = sOptions;
                    sOptions = null;

                    List <IAdjustForVacationOption> options = new List <IAdjustForVacationOption>();
                    GetOptions(options, false, null);

                    foreach (IAdjustForVacationOption option in options)
                    {
                        option.AdjustForVacationTown();
                    }

                    sOptions = optionStore;
                }

                Options.Restore();

                Common.kDebugging = GetValue <DebuggingOption, bool>();

                base.Startup(Options);

                RemoveStats();

                foreach (Manager manager in mManagers)
                {
                    try
                    {
                        manager.Startup(Options);
                    }
                    catch (Exception exception)
                    {
                        BooterLogger.AddError(exception.ToString());
                    }
                }

                if (DebuggingEnabled)
                {
                    TestOptionNameUniqueness();
                }

                sInitialInstall = false;

                mFirst = true;
                mTask  = new Common.AlarmTask(1f, TimeUnit.Seconds, OnTimer, 10f, TimeUnit.Minutes);
            }
            catch (Exception exception)
            {
                Common.Exception("Startup", exception);
            }
        }
コード例 #19
0
 public void Dispose()
 {
     mManager.RemoveAlarm(mAlarm);
     mAlarm = null;
 }
コード例 #20
0
        private static void SetUpHolidayManager(Season currentSeason, bool clear)
        {
            HolidayManager ths = HolidayManager.sInstance;

            if (ths == null)
            {
                return;
            }

            if (SeasonsManager.sInstance == null)
            {
                return;
            }

            if (clear)
            {
                ths.ClearCurrentHoliday();
            }

            if (SeasonsManager.GetSeasonEnabled(currentSeason))
            {
                if (ths.mStartDateTimeOfHoliday == DateAndTime.Invalid)
                {
                    ths.OnHolidayDone();

                    CalculateDateTimeOfHoliday(ths, ref currentSeason);

                    if (ths.mStartDateTimeOfHoliday != DateAndTime.Invalid)
                    {
                        ths.mCurrentSeason = currentSeason;
                        ths.SetHoliday();
                    }

                    if (TrickOrTreatSituation.NPCTrickOrTreatAlarm != AlarmHandle.kInvalidHandle)
                    {
                        AlarmManager.Global.RemoveAlarm(TrickOrTreatSituation.NPCTrickOrTreatAlarm);
                        TrickOrTreatSituation.NPCTrickOrTreatAlarm = AlarmHandle.kInvalidHandle;
                    }
                }

                if (ths.mStartDateTimeOfHoliday != DateAndTime.Invalid)
                {
                    DateAndTime time  = SimClock.CurrentTime();
                    long        ticks = (ths.mStartDateTimeOfHoliday - time).Ticks;

                    Common.DebugNotify("Initiate Holiday Alarm: " + Common.NewLine + SimClock.CurrentTime() + Common.NewLine + ths.mStartDateTimeOfHoliday + Common.NewLine + ticks);

                    if (ticks > 0)
                    {
                        ths.ClearAllAlarms();
                        //ths.StartAlarms();

                        if (sHolidayAlarm != null)
                        {
                            sHolidayAlarm.Dispose();
                        }

                        sHolidayAlarm = new Common.AlarmTask(SimClock.ConvertFromTicks(ticks, TimeUnit.Hours), TimeUnit.Hours, OnHolidayStarted);

                        long ticksToWarning = ticks - SimClock.ConvertToTicks((float)HolidayManager.kDaysBeforeHolidayToShowWarningTNS, TimeUnit.Days);
                        if (ticksToWarning > 0)
                        {
                            ths.mShowWarningAlarm = AlarmManager.Global.AddAlarm(SimClock.ConvertFromTicks(ticksToWarning, TimeUnit.Hours), TimeUnit.Hours, ths.OnShowWarningTns, "ShowWarningTns", AlarmType.AlwaysPersisted, null);
                        }
                    }
                }
            }
        }
コード例 #21
0
 public ServiceData()
 {
     mWasRandom = false;
     mPush = null;
     mProfessional = 0;
     mRequester = 0;
     autonomyWasDisabled = false;
 }            
コード例 #22
0
ファイル: TooltipHelper.cs プロジェクト: Chain-Reaction/NRaas
 public static void SetAlarm()
 {
     sCurrentAlarm = new Common.AlarmTask(2f, Sims3.Gameplay.Utilities.TimeUnit.Minutes, HideCurrentTooltip);  
 }
コード例 #23
0
 public void SetupPushAlarm()
 {
     this.mLotPush = new Common.AlarmTask(10, TimeUnit.Minutes, CheckArrival, 10, TimeUnit.Minutes);
 }
コード例 #24
0
 public AlarmManagerReference(StoryProgressionObject manager, Common.AlarmTask alarm)
 {
     mManager = manager;
     mAlarm   = alarm;
 }