public CreateObjectAsyncTask(ObjectJar jar, string type, IRecycleProcesser processer, IRecycleFactory factory) : base(false) { factory.CreateObjectAsync(type, obj => { processer.ReclaimObject(obj); jar.Drop(obj); this.completed = true; }); }
public void Drop(string objectType, object recycleObject) { if (null != recycleObject) { this.processer.ReclaimObject(recycleObject); ObjectJar jar = _GetObjectJar(objectType); jar.Drop(recycleObject); } }
public void Preload(string objectType, int count) { if (null != this.factory) { ObjectJar jar = _GetObjectJar(objectType); for (var i = 0; i < count; ++i) { var recycleObject = this.factory.CreateObject(objectType); this.processer.ReclaimObject(recycleObject); jar.Drop(recycleObject); } } }