/// <summary> /// Load the Orders from the database based on condition from the database. /// </summary> /// <param name="condition"></param> /// <param name="userContext"></param> /// <returns></returns> private LoaderResult LoadOrders(string condition, object userContext) { LoaderResult result = new LoaderResult(); result.UserContext = userContext; if (_connection != null) { SqlCommand command = new SqlCommand(_query + condition, _connection); IDataReader reader = command.ExecuteReader(); while (reader.Read()) { // Read and construct Order Order order = new Order(); order.OrderID = int.Parse(reader[0].ToString()); order.OrderDate = Convert.ToDateTime(reader[1].ToString()); order.ShipName = reader[2] as string; order.ShipAddress = reader[3] as string; order.ShipCity = reader[4] as string; order.ShipCountry = reader[5] as string; // Create a Cache item // You must create ProviderCacheItem before adding to the resultant data... ProviderCacheItem cacheItem = new ProviderCacheItem(order); // Add to Loader data... result.Data.Add(new System.Collections.Generic.KeyValuePair <string, ProviderItemBase>(order.OrderID.ToString(), cacheItem)); } } result.HasMoreData = false; return(result); }
/// <summary> /// Load Next is to be call till HasMoreData is false /// </summary> /// <param name="userContext">user object to be fetched in next LoadNext call</param> /// <returns></returns> public LoaderResult LoadNext(object userContext) { try { if (_persistentItems == null) { _persistentItems = PersistenceProvider.GetAll(_hint).GetEnumerator(); } LoaderResult result = new LoaderResult(); result.UserContext = userContext; result.HasMoreData = false; while (_persistentItems.MoveNext()) { result.Data.Add(_persistentItems.Current); _currentIndex++; if (_currentIndex % _singleIterationSize == 0) { result.HasMoreData = true; break; } } return(result); } catch (Exception ex) { Logger.LogError(ex.ToString()); throw ex; } }
void IErrorReceiverRetriable.OnRetriableError(LoaderResult result, Action <LoaderResult> retryAction) { linker.Pause(); if (errorHandler == null) { Debug.LogError("has not set asset bundle error handler"); return; } errorHandler.OnRetriableError( result.ErrorType ?? AssetBundleDownloadErrorType.Unknown, result.AssetBundleRecord?.AssetBundleName, () => { if (retryAction == null) { string message = "retry action is not found"; (this as IErrorReceiver).OnError(AssetBundleErrorCode.MissingRetryAction, message); return; } linker.Resume(); retryAction.Invoke(result); }); }
public override IEnumerator CreateGameObjectAsync(LoaderResult r) { GameObject d = GameObject.Instantiate(Main.unitManager.characrerDrawerPrefab); SpriteDrawer drawer = d.AddComponent <SpriteDrawer>(); r.isDone = true; r.asset = d; yield return(0); }
private void backgroundLoader_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { LoaderResult result = (LoaderResult)e.Result; MessageBox.Show(result.Message, Properties.Resources.AppName, MessageBoxButtons.OK, result.Status == LoaderResult.LoaderStatus.LoaderOK ? MessageBoxIcon.Information : MessageBoxIcon.Error); progressBar.Value = 0; if (result.Status == LoaderResult.LoaderStatus.LoaderOK) { Dispose(); } }
public void Edit(string path, ITemplateLoader loader, UIContentPresenter presenter) { this.path = path; this.loader = loader; this.presenter = presenter; result = loader.GetTemplate(presenter.DataTemplateName, path); if (result != null) { codeTextBox.Text = result.Code; } this.Show(); }
private Task LoadData() { return(Loader.ExecuteAsync(async(token) => { _counter = (_counter + 1) % 4; await Task.Delay(2000); if (_counter == 3) { return LoaderResult.Success(); } var countdown = 3 - _counter; return LoaderResult.Error($"Oops, there was an error! Try it {countdown} more time!"); })); }
void IErrorReceiverRetriable.OnRetriableError(LoaderResult result, Action <LoaderResult> retryAction) { linker.Pause(); if (errorHandler == null) { Debug.LogError("has not set asset bundle error handler"); return; } errorHandler.OnRetriableError( result.ErrorType ?? AssetBundleDownloadErrorType.Unknown, result.AssetBundleRecord?.AssetBundleName, () => { linker.Resume(); retryAction.Invoke(result); }); }
public IEnumerator getAsync(LoaderResult result) { result.isDone = false; result.asset = null; if (idle.Count <= 0) { LoaderResult r = new LoaderResult(); yield return(gameObjectFactory.CreateGameObjectAsync(r)); add(r.asset as GameObject); } GameObjectResource res = idle.First().Value; res.getGameObject().SetActive(true); used.Add(res.getId(), res); idle.Remove(res.getId()); result.asset = res; result.isDone = true; }
public LoaderResult LoadNext(object userContext) { LoaderResult loaderResult = new LoaderResult(); string queryString = "SELECT * FROM Customers"; try { using (SqlConnection sqlConnection = new SqlConnection(_connectionString)) { if (sqlConnection.State == ConnectionState.Closed) { sqlConnection.Open(); } SqlCommand cmd = new SqlCommand(queryString, sqlConnection); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Customer customerObject = new Customer { CompanyName = reader["CompanyName"].ToString(), ContactName = reader["ContactName"].ToString(), ContactTitle = reader["ContactTitle"].ToString(), Address = reader["Address"].ToString(), CustomerId = reader["CustomerID"].ToString() }; ProviderCacheItem cacheItem = new ProviderCacheItem(customerObject); var key = $"Customer:{customerObject.CustomerId}"; var keyValuePair = new KeyValuePair <string, ProviderItemBase>(key, cacheItem); loaderResult.Data.Add(keyValuePair); } } sqlConnection.Close(); } } catch (Exception e) { Console.WriteLine(e.Message); } loaderResult.HasMoreData = false; return(loaderResult); }
private Task LoadData() { return(Loader.ExecuteAsync(async(token) => { _counter = (_counter + 1) % 3; await Task.Delay(2000); switch (_counter) { case 0: return LoaderResult.Error("Oops, there was an error!"); case 1: return LoaderResult.Empty(); default: return LoaderResult.Success(); } })); }
IEnumerator Start() { yield return(CfgLoader.Load()); print("CfgLoader finish"); yield return(Map.Instance.load()); print("map finish"); Map.Instance.createMap(32, 32, 1); cameraCotroller = Camera.main.transform.parent.GetComponent <CameraCotroller>(); cameraCotroller.init(Map.Instance); //SpriteAnimCfg sfg=SpriteAnimCfg.get(1); //Object o=Resources.Load("characters/1.0"); //print(o); //Sprite s = Sprite.Create(o as Texture2D,new Rect(0,0,50,50),new Vector2()); //spriteRenderer.sprite = s; //Resources.UnloadAsset(o); //ResourceLoadTask task = new ResourceLoadTask(); //task.path = "characters"; //task.name = "1.0.png"; //yield return ResourceLoader.LoadAssetAsync(task); //print(task.asset); yield return(unitManager.init()); LoaderResult r = new LoaderResult(); yield return(unitManager.loadUnitType(1, r)); Player p = new Player(); unit = unitManager.createUnit(unitManager.id2UnitType[1], p); unit.direction = UnitDirection.LookingE; //foreach ( Sprite l in unit.unitType.sprite.runAnim[1]) //{ // Debug.Log(l); //} }
void OnDownloaded(LoaderResult result) { this.DownloadedAssetBundleCount++; this.DownloadedBytes += result.AssetBundleRecord.FileSizeBytes; this.LatestDownloadedAssetBundleName = result.AssetBundleRecord.AssetBundleName; }
public virtual IEnumerator CreateGameObjectAsync(LoaderResult r) { yield return(null); }
public IEnumerator loadUnitType(int unitTypeId, LoaderResult result) { if (id2UnitType.ContainsKey(unitTypeId)) { result.isDone = true; result.asset = id2UnitType[unitTypeId]; yield break; } UnitTypeCfg unitTypeCfg = UnitTypeCfg.get(unitTypeId); int spriteCfgId = unitTypeCfg.spritId; if (!id2CharacterSprite.ContainsKey(spriteCfgId)) { CharacterSpriteCfg spriteCfg = CharacterSpriteCfg.get(spriteCfgId); CharacterSprite sprite = new CharacterSprite(); sprite.animations[(int)UnitAnimation.Run] = new CharacterAnimation(); for (int i = 0; i < 8; i++) { int spriteAnimId = spriteCfg.runAnim[i]; if (spriteAnimId == 0) { sprite.animations[(int)UnitAnimation.Run].anim[i] = null; continue; } if (!id2FrameAnimation.ContainsKey(spriteAnimId)) { FrameAnimationCfg spriteAnimCfg = FrameAnimationCfg.get(spriteAnimId); List <Sprite> anim = new List <Sprite>(); ResourceLoadTaskGroup group = new ResourceLoadTaskGroup(); for (int j = spriteAnimCfg.nBegin; j <= spriteAnimCfg.nEnd; j++) { ResourceLoadTask task = new ResourceLoadTask(); task.path = spriteAnimCfg.resourcePath; string resourceName = j + ".0.png"; task.name = resourceName; group.addTask(task); } yield return(ResourceLoader.LoadGroupAsync(group)); for (int j = 0; j <= spriteAnimCfg.nEnd - spriteAnimCfg.nBegin; j++) { Texture2D texture2d = group.getTaskList()[j].asset as Texture2D; Sprite s = Sprite.Create(texture2d, new Rect(0, 0, texture2d.width, texture2d.height), new Vector2(0.5f, 0), spriteAnimCfg.fixelsPerUnit ); anim.Add(s); } FrameAnimation frameanimation = new FrameAnimation(); frameanimation.frames = anim; frameanimation.frameRate = spriteAnimCfg.frameRate; id2FrameAnimation[spriteAnimId] = frameanimation; } sprite.animations[(int)UnitAnimation.Run].anim[i] = id2FrameAnimation[spriteAnimId].frames; } sprite.frameRate = spriteCfg.frameRate; id2CharacterSprite[spriteCfgId] = sprite; } UnitType unitType = new UnitType(); unitType.sprite = id2CharacterSprite[spriteCfgId]; result.isDone = true; result.asset = unitType; id2UnitType[unitTypeId] = unitType; yield break; }