Example #1
0
        /// <summary>
        /// Despawns an object after a delay.
        /// </summary>
        /// <param name="target">The target to despawn.</param>
        /// <param name="delay">Time in seconds to wait before despawning the target.</param>
        /// <param name="unscaledTime">Should the delay be according to <see cref="Time.time"/> or <see cref="Time.unscaledTime"/>?</param>
        public void Despawn(T target, float delay, bool unscaledTime = false)
        {
            var id = _nextTimerId++;

            _instanceToTimerId[target] = id;

            if (unscaledTime)
            {
                TellMeWhen.SecondsUnscaled(delay, this, id);
            }
            else
            {
                TellMeWhen.Seconds(delay, this, id);
            }
        }
Example #2
0
        /// <summary>
        /// Despawns an object after a delay.
        /// </summary>
        /// <param name="target">The target to despawn.</param>
        /// <param name="delay">Time in seconds to wait before despawning the target.</param>
        /// <param name="unscaledTime">Should the delay be according to <see cref="Time.time"/> or <see cref="Time.unscaledTime"/>?</param>
        public void Despawn(T target, float delay, bool unscaledTime = false)
        {
            if (ReferenceEquals(target, null))
            {
                throw new ArgumentNullException("target");
            }

            var id = _nextTimerId++;

            _instanceToTimerId[target] = id;

            if (unscaledTime)
            {
                TellMeWhen.SecondsUnscaled(delay, this, id, target);
            }
            else
            {
                TellMeWhen.Seconds(delay, this, id, target);
            }
        }