/// <summary>
        /// 用複合唯一索引查詢
        /// </summary>
        /// <param name="collectionName"></param>
        /// <param name="uniqueName"></param>
        /// <param name="json"></param>
        /// <returns></returns>
        public ETTask <ComponentWithId> QueryByUnique(string collectionName, string uniqueName, string json)
        {
            ETTaskCompletionSource <ComponentWithId> tcs  = new ETTaskCompletionSource <ComponentWithId>();
            CacheQueryByUniqueTask cacheQueryByUniqueTask = ComponentFactory.Create <CacheQueryByUniqueTask, string, ETTaskCompletionSource <ComponentWithId> >(collectionName, tcs);

            cacheQueryByUniqueTask.UniqueName = uniqueName;
            cacheQueryByUniqueTask.Json       = json;
            this.tasks[(int)((ulong)cacheQueryByUniqueTask.Id % taskCount)].Add(cacheQueryByUniqueTask);

            return(tcs.Task);
        }
 public override void Awake(CacheQueryByUniqueTask self, string collectionName, ETTaskCompletionSource <ComponentWithId> tcs)
 {
     self.Tcs            = tcs;
     self.CollectionName = collectionName;
 }