public BasicScheduler() { _heap = new MinHeap <ScheduleEvent>(); _lookup = new Dictionary <int, ScheduleEvent>(); _repeat = new List <ScheduleEvent>(); _pool = new BasicPool <ScheduleEvent>(() => new ScheduleEvent(), delegate(ScheduleEvent item) { item.Callback = null; item.State = null; }); _eventSequence = 1; _timeNow = 0L; }
public void BasicPool_AcquireAndRelease() { var pool = new BasicPool <object>(() => new object()); Assert.That(pool.PoolSize, Is.EqualTo(0)); Assert.That(pool.ActiveInstanceCount, Is.EqualTo(0)); var obj1 = pool.Acquire(); Assert.That(pool.PoolSize, Is.EqualTo(0)); Assert.That(pool.ActiveInstanceCount, Is.EqualTo(1)); pool.Release(obj1); Assert.That(pool.PoolSize, Is.EqualTo(1)); Assert.That(pool.ActiveInstanceCount, Is.EqualTo(0)); var obj2 = pool.Acquire(); Assert.That(pool.PoolSize, Is.EqualTo(0)); Assert.That(pool.ActiveInstanceCount, Is.EqualTo(1)); Assert.That(obj2, Is.EqualTo(obj1)); }
private void Awake() { Instance = this; GrowPool(); }