Example #1
0
        /// <summary>
        /// Setting this will ensure the instance stays around x minutes.  After that the region will be destroyed when empty
        /// </summary>
        /// <param name="minutes"></param>
        public void BeginDelayCloseCountdown(int minutes)
        {
            DestroyWhenEmpty = false;

            if (m_autoCloseRegionTimer != null)
            {
                m_autoCloseRegionTimer.Stop();
                m_autoCloseRegionTimer = null;
            }

            if (m_delayCloseRegionTimer != null)
            {
                m_delayCloseRegionTimer.Stop();
                m_delayCloseRegionTimer = null;
            }

            m_delayCloseRegionTimer          = new DelayCloseRegionTimer(TimeManager, this);
            m_delayCloseRegionTimer.Interval = minutes * 60000;
            m_delayCloseRegionTimer.Start(minutes * 60000);
        }
		/// <summary>
		/// Setting this will ensure the instance stays around x minutes.  After that the region will be destroyed when empty
		/// </summary>
		/// <param name="minutes"></param>
		public void BeginDelayCloseCountdown(int minutes)
		{
			DestroyWhenEmpty = false;

			if (m_autoCloseRegionTimer != null)
			{
				m_autoCloseRegionTimer.Stop();
				m_autoCloseRegionTimer = null;
			}

			if (m_delayCloseRegionTimer != null)
			{
				m_delayCloseRegionTimer.Stop();
				m_delayCloseRegionTimer = null;
			}

			m_delayCloseRegionTimer = new DelayCloseRegionTimer(TimeManager, this);
			m_delayCloseRegionTimer.Interval = minutes * 60000;
			m_delayCloseRegionTimer.Start(minutes * 60000);
		}
Example #3
0
        /// <summary>
        /// What to do when the region collapses.
        /// Examples of use: Expire task on task dungeons.
        /// </summary>
        public override void OnCollapse()
        {
            base.OnCollapse();

            if (m_autoCloseRegionTimer != null)
            {
                m_autoCloseRegionTimer.Stop();
                m_autoCloseRegionTimer = null;
            }

            if (m_delayCloseRegionTimer != null)
            {
                m_delayCloseRegionTimer.Stop();
                m_delayCloseRegionTimer = null;
            }

            DOL.Events.GameEventMgr.RemoveAllHandlersForObject(this);

            m_zoneSkinMap.Clear();

            Areas.Clear();
        }