Esempio n. 1
0
        /// <summary>
        /// 增加实体组。
        /// </summary>
        /// <param name="entityGroupName">实体组名称。</param>
        /// <param name="instanceCapacity">实体实例对象池容量。</param>
        public void AddEntityGroup(string entityGroupName, int instanceCapacity)
        {
            if (m_EntityManager.HasEntityGroup(entityGroupName))
            {
                Log.Warning("Entity group '{0}' is already exist.", entityGroupName);
                return;
            }

            EntityGroupHelperBase helper = null;

            if (m_EntityGroupHelperTemplate != null)
            {
                helper = Instantiate(m_EntityGroupHelperTemplate);
            }
            else
            {
                helper = (new GameObject()).AddComponent <DefaultEntityGroupHelper>();
            }

            helper.name = string.Format("Entity Group - {0}", entityGroupName);
            Transform transform = helper.transform;

            transform.SetParent(m_InstanceRoot);
            transform.localScale = Vector3.one;

            m_EntityManager.AddEntityGroup(entityGroupName, instanceCapacity, helper);
        }
Esempio n. 2
0
        public bool AddEntityGroup(string entityGroupName, foat instanceAutoReleaseInterval, int instanceCapacity)
        {
            if (m_EntityManager.HasEntityGroup(entityGroupName))
            {
                return(false);
            }

            EntityGroupHelperBase entityGroupHelper = Helper.CreateHelper(m_EntityGroupHelperTypeName, m_CustomEntityGroupHelper, EntityGroupCount);

            entityGroupHelper.name = string.Format();
            Transform transform = entityGroupHelper.transform;

            transform.SetParent(m_InstanceRoot);
            transform.localScale = Vector3.one;

            return(m_EntityManager.AddEntityGroup(entityGroupName, instanceCapacity));
        }
Esempio n. 3
0
        /// <summary>
        /// 增加实体组。
        /// </summary>
        /// <param name="entityGroupName">实体组名称。</param>
        /// <param name="instanceAutoReleaseInterval">实体实例对象池自动释放可释放对象的间隔秒数。</param>
        /// <param name="instanceCapacity">实体实例对象池容量。</param>
        /// <param name="instanceExpireTime">实体实例对象池对象过期秒数。</param>
        /// <param name="instancePriority">实体实例对象池的优先级。</param>
        /// <returns>是否增加实体组成功。</returns>
        public bool AddEntityGroup(string entityGroupName, float instanceAutoReleaseInterval, int instanceCapacity, float instanceExpireTime, int instancePriority)
        {
            if (m_EntityManager.HasEntityGroup(entityGroupName))
            {
                return false;
            }

            EntityGroupHelperBase entityGroupHelper = Helper.CreateHelper(m_EntityGroupHelperTypeName, m_CustomEntityGroupHelper, EntityGroupCount);
            if (entityGroupHelper == null)
            {
                Log.Error("Can not create entity group helper.");
                return false;
            }

            entityGroupHelper.name = string.Format("Entity Group - {0}", entityGroupName);
            Transform transform = entityGroupHelper.transform;
            transform.SetParent(m_InstanceRoot);
            transform.localScale = Vector3.one;

            return m_EntityManager.AddEntityGroup(entityGroupName, instanceAutoReleaseInterval, instanceCapacity, instanceExpireTime, instancePriority, entityGroupHelper);
        }
        /// <summary>
        /// 增加实体组
        /// </summary>
        /// <param name="entityGroupName">实体组名称</param>
        /// <param name="instanceAutoReleaseInterval">实体实例对象池自动释放可释放对象的间隔秒数</param>
        /// <param name="instanceCapacity">实体实例对象池容量</param>
        /// <param name="instanceExpireTime">实体实例对象池对象过期秒数</param>
        /// <param name="instancePriority">实体实例对象池的优先级</param>
        /// <returns>是否增加实体组成功</returns>
        public bool AddEntityGroup(string entityGroupName, float instanceAutoReleaseInterval, int instanceCapacity, float instanceExpireTime, int instancePriority)
        {
            if (m_EntityManager.HasEntityGroup(entityGroupName))    //先检查是否存在实体组
            {
                return(false);
            }

            //创建实体组辅助器
            EntityGroupHelperBase entityGroupHelper = Helper.CreateHelper(m_EntityGroupHelperTypeName, m_CustomEntityGroupHelper, EntityGroupCount);

            if (entityGroupHelper == null)
            {
                Log.Error("[EntityComponent.AddEntityGroup] Can not create entity group helper.");
                return(false);
            }
            entityGroupHelper.name = Utility.Text.Format("Entity Group - {0}", entityGroupName);
            Transform trans = entityGroupHelper.transform;

            trans.SetParent(m_InstanceRoot);
            trans.localScale = Vector3.one;

            return(m_EntityManager.AddEntityGroup(entityGroupName, instanceAutoReleaseInterval, instanceCapacity, instanceExpireTime, instancePriority, entityGroupHelper));
        }
Esempio n. 5
0
        /// <summary>
        /// 增加实体组。
        /// </summary>
        /// <param name="entityGroupName">实体组名称。</param>
        /// <param name="instanceCapacity">实体实例对象池容量。</param>
        /// <returns>是否增加实体组成功。</returns>
        public bool AddEntityGroup(string entityGroupName, int instanceCapacity)
        {
            if (m_EntityManager.HasEntityGroup(entityGroupName))
            {
                return(false);
            }

            EntityGroupHelperBase entityGroupHelper = Utility.Helper.CreateHelper(m_EntityGroupHelperTypeName, m_CustomEntityGroupHelper, EntityGroupCount);

            if (entityGroupHelper == null)
            {
                Log.Error("Can not create entity group helper.");
                return(false);
            }

            entityGroupHelper.name = string.Format("Entity Group - {0}", entityGroupName);
            Transform transform = entityGroupHelper.transform;

            transform.SetParent(m_InstanceRoot);
            transform.localScale = Vector3.one;

            return(m_EntityManager.AddEntityGroup(entityGroupName, instanceCapacity, entityGroupHelper));
        }