Exemplo n.º 1
0
    void Awake()
    {
        m_MonoObjectPool    = new MonoObjectPool <TestMonoReusableObject>(m_ReusablePrefab, m_ParentGameObj, m_iMonoObjPoolStartSize);
        m_NonMonoObjectPool = new TestNonMonoPool(m_iNonMonoPooledStartCount);

        updateCount();
    }
    static void Main(string[] args)
    {
        var mop = new MonoObjectPool();

        mop.Pool = new ObjectPool <IDbConnection>(() => new SqlConnection("Data Source=server1"));
        var service = new Service();

        mop.Pool = new ObjectPool <IDbConnection>(() => new SqlConnection("Data Source=server2"));
        Console.WriteLine(service.Pool.GetObject().ConnectionString);
    }
Exemplo n.º 3
0
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            //if (!EditorApplication.isPlaying)
            //{
            //    EditorGUILayout.HelpBox("Available during runtime only.", MessageType.Info);
            //    return;
            //}

            MonoObjectPool t = (MonoObjectPool)target;

            EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode);
            {
                EditorGUILayout.PropertyField(m_ObjectGroups, new GUIContent("对象池组"));
            }
            EditorGUI.EndDisabledGroup();

            if (EditorApplication.isPlaying)
            {
                if (IsPrefabInHierarchy(t.gameObject))
                {
                    EditorGUILayout.LabelField("Object Pool Count", t.Count.ToString());

                    ObjectPoolBase[] objectPools = t.GetAllObjectPools(true);
                    if (objectPools != null)
                    {
                        foreach (ObjectPoolBase objectPool in objectPools)
                        {
                            DrawObjectPool(objectPool);
                        }
                    }
                }

                Repaint();
            }

            serializedObject.ApplyModifiedProperties();
        }
 public HealthBarFactory()
 {
     _pool = new MonoObjectPool <HealthBarView>(Services.Get <GameSettings>().DefaultGuiSettings.HealthBarPrefab);
 }
 public Service(MonoObjectPool pool)
 {
     myPool = pool;
 }