/// <summary>
            /// 初始化实体组的新实例。
            /// </summary>
            /// <param name="name">实体组名称。</param>
            /// <param name="instanceAutoReleaseInterval">实体实例对象池自动释放可释放对象的间隔秒数。</param>
            /// <param name="instanceCapacity">实体实例对象池容量。</param>
            /// <param name="instanceExpireTime">实体实例对象池对象过期秒数。</param>
            /// <param name="instancePriority">实体实例对象池的优先级。</param>
            /// <param name="ItemGroupHelper">实体组辅助器。</param>
            /// <param name="objectPoolManager">对象池管理器。</param>
            public ItemGroup(string name, float instanceAutoReleaseInterval, int instanceCapacity, float instanceExpireTime, int instancePriority, IItemGroupHelper ItemGroupHelper, IObjectPoolManager objectPoolManager)
            {
                if (string.IsNullOrEmpty(name))
                {
                    throw new GameFrameworkException("Item group name is invalid.");
                }

                if (ItemGroupHelper == null)
                {
                    throw new GameFrameworkException("Item group helper is invalid.");
                }

                m_Name            = name;
                m_ItemGroupHelper = ItemGroupHelper;
                m_InstancePool    = objectPoolManager.CreateSingleSpawnObjectPool <ItemInstanceObject>(Utility.Text.Format("Item Instance Pool ({0})", name), instanceCapacity, instanceExpireTime, instancePriority);
                m_InstancePool.AutoReleaseInterval = instanceAutoReleaseInterval;
                m_Items      = new GameFrameworkLinkedList <IItem>();
                m_CachedNode = null;
            }
        /// <summary>
        /// 增加物品组。
        /// </summary>
        /// <param name="itemGroupName">物品组名称。</param>
        /// <param name="instanceAutoReleaseInterval">物品实例对象池自动释放可释放对象的间隔秒数。</param>
        /// <param name="instanceCapacity">物品实例对象池容量。</param>
        /// <param name="instanceExpireTime">物品实例对象池对象过期秒数。</param>
        /// <param name="instancePriority">物品实例对象池的优先级。</param>
        /// <param name="itemGroupHelper">物品组辅助器。</param>
        /// <returns>是否增加物品组成功。</returns>
        public bool AddItemGroup(string itemGroupName, float instanceAutoReleaseInterval, int instanceCapacity, float instanceExpireTime, int instancePriority, IItemGroupHelper itemGroupHelper)
        {
            if (string.IsNullOrEmpty(itemGroupName))
            {
                throw new GameFrameworkException("Item group name is invalid.");
            }

            if (itemGroupHelper == null)
            {
                throw new GameFrameworkException("Item group helper is invalid.");
            }

            if (m_ObjectPoolManager == null)
            {
                throw new GameFrameworkException("You must set object pool manager first.");
            }

            if (HasItemGroup(itemGroupName))
            {
                return(false);
            }

            m_ItemGroups.Add(itemGroupName, new ItemGroup(itemGroupName, instanceAutoReleaseInterval, instanceCapacity, instanceExpireTime, instancePriority, itemGroupHelper, m_ObjectPoolManager));

            return(true);
        }