Example #1
0
        /// <summary>
        /// Notifies that resource was deactivated.
        /// </summary>
        /// <remarks>
        /// This function should call direct only owner/manager of this resource.
        /// </remarks>
        /// <param name="source">The source of deactivation.</param>
        public virtual void NotifyDeactivated(object source)
        {
            using (var ob = PoolClass <HashSet <MyResource> > .Acquire())
            {
                HashSet <MyResource> collectedResources = ob;
                collectedResources.Clear();

                CollectResources(collectedResources, false);

                foreach (var collectedResource in collectedResources)
                {
                    collectedResource.NotifyDeactivated(this);
                }
            }

            // removed, it's "Storkovina"
            //this.IsActivated = false;

            OnDeactivated(source);
        }