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); }
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; }