Exemplo n.º 1
0
        /// <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);
            });
        }
Exemplo n.º 4
0
    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);
    }
Exemplo n.º 5
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();
            }
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        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!");
            }));
        }
Exemplo n.º 8
0
        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);
            });
        }
Exemplo n.º 9
0
    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;
    }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
        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();
                }
            }));
        }
Exemplo n.º 12
0
    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;
 }
Exemplo n.º 14
0
 public virtual IEnumerator CreateGameObjectAsync(LoaderResult r)
 {
     yield return(null);
 }
Exemplo n.º 15
0
    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;
    }