当前位置: 首页>>代码示例>>C#>>正文


C# Pool.Initialize方法代码示例

本文整理汇总了C#中Pool.Initialize方法的典型用法代码示例。如果您正苦于以下问题:C# Pool.Initialize方法的具体用法?C# Pool.Initialize怎么用?C# Pool.Initialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Pool的用法示例。


在下文中一共展示了Pool.Initialize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PoolArea

        private void PoolArea(Pool pool)
        {
            GUILayout.BeginVertical(poolBackground);
            GUILayout.BeginHorizontal(EditorStyles.toolbar);
            GUILayout.Space(10f);

            pool.foldout = EditorGUILayout.Foldout(pool.foldout, pool.poolName);
            GUILayout.FlexibleSpace();

            if (Application.isPlaying)
                GUILayout.Label("Spawned: " + pool.spawnedCount + "/" + pool.totalCount);

            if (GUILayout.Button("Clear", EditorStyles.toolbarButton, GUILayout.Width(40)))
                pool.ClearAndDestroy();

            if (GUILayout.Button("Preinstantiate", EditorStyles.toolbarButton, GUILayout.Width(80)))
                pool.Initialize();

            if (GUILayout.Button("X", EditorStyles.toolbarButton, GUILayout.Width(15)))
            {
                pool.ClearAndDestroy();
                if (pool.m_Root != null)
                    GameObject.DestroyImmediate(pool.m_Root.gameObject);
                poolManager.pools.Remove(pool);
            }

            GUILayout.EndHorizontal();

            if (pool.foldout)
            {

                
                pool.Prefab = EditorGUILayout.ObjectField("Prefab: ", pool.Prefab, typeof(GameObject), false) as GameObject;
                pool.size = EditorGUILayout.IntField("Pool size: ", pool.size);
                pool.allowGrowth = EditorGUILayout.Toggle("Allow more: ", pool.allowGrowth);

                pool.audioSourceHandling = (ComponentHandlingType)EditorGUILayout.EnumMaskField("Audio source: ", pool.audioSourceHandling);
                pool.particleSystemHandling = (ComponentHandlingType)EditorGUILayout.EnumMaskField("Particles: ", pool.particleSystemHandling);

                pool.mode = (DespawnMode)EditorGUILayout.EnumPopup("Despawn mode", pool.mode);
                if (pool.mode == DespawnMode.Move)
                    pool.despawnPos = EditorGUILayout.Vector3Field("Despawn position: ", pool.despawnPos);
            }

            GUILayout.EndVertical();
        }
开发者ID:luochuanyuewu,项目名称:Unity-QuickPool,代码行数:46,代码来源:ObjectsPoolEditor.cs

示例2: CreatePool

    /// <summary>
    /// 
    /// </summary>
    /// <param name="prefab"></param>
    /// <param name="poolParent"></param>
    /// <returns></returns>
    public Pool CreatePool(PoolObject prefab, Transform poolParent = null)
    {
        Pool pool = new Pool(this, prefab);
        poolList.Add(pool);
        pools.Add(prefab, pool);
        if (poolParent == null)
        {
            poolParent = new GameObject(prefab.name).transform;
            poolParent.parent = parent;
        }
        pool.Initialize(poolParent);

        return pool;
    }
开发者ID:syeager,项目名称:Space-CUBEs,代码行数:20,代码来源:PoolManager.cs


注:本文中的Pool.Initialize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。