Exemple #1
0
        /// <inheritdoc/>
        protected override void UpdateViewsHolder(MyItemViewsHolder newOrRecycled)
        {
            // Initialize the views from the associated model
            ExampleItemModel model = Data[newOrRecycled.ItemIndex];

            newOrRecycled.titleText.text = "[" + newOrRecycled.ItemIndex + "] " + model.title;
        }
Exemple #2
0
        IEnumerator FetchItemModelsFromServer(int maxCount, Action <List <ExampleItemModel> > onDone)
        {
            _Params.statusText.text = "Fetching " + maxCount + " from server...";

            // Simulating server delay
            yield return(new WaitForSeconds(_Params.simulatedServerDelay));

            // Generating some random models

            // Simulates the server either returning the requested number of items or less (meaning it doesn't have more)
            bool serverHasEnough = UnityEngine.Random.Range(0, 5) != 0;             // 20% chance to have depleted the data on server

            // If server doesn't have enough, it may return less than maxCount, so we simulate that with a random number between 0 and maxCount+1
            int actualReturnedCount = serverHasEnough ? maxCount : UnityEngine.Random.Range(0, maxCount + 1);

            var results = new List <ExampleItemModel>();

            for (int i = 0; i < actualReturnedCount; ++i)
            {
                var m = new ExampleItemModel();
                m.title = "Item got at " + DateTime.Now.ToString("hh:mm:ss");
                results.Add(m);
            }

            _LoadedAll = results.Count < maxCount;

            onDone(results);
        }
Exemple #3
0
        IEnumerator FetchItemModelsFromServer(int count, Action <ExampleItemModel[]> onDone)
        {
            _Params.statusText.text = "Fetching " + count + " from server...";

            // Simulating server delay
            yield return(new WaitForSeconds(_Params.simulatedServerDelay));

            // Generating some random models
            var results = new ExampleItemModel[count];

            for (int i = 0; i < count; ++i)
            {
                results[i]       = new ExampleItemModel();
                results[i].title = "Item got at " + DateTime.Now.ToString("hh:mm:ss");
            }

            onDone(results);
        }