//вытягивает данные из базы IEnumerator GetItems(int count, System.Action <ItemModelPack[]> callback) { yield return(new WaitForSeconds(1f)); var result = new ItemModelPack[count]; SetResult(ref result); //передаём массив данных в метод callback(result); }
//заполняет модкль данных void SetResult(ref ItemModelPack[] itemModelArray) { for (int i = 0; i < itemModelArray.Length; i++) { itemModelArray[i] = new ItemModelPack(); itemModelArray[i].nameProduct = data.itemPacks[i].name; itemModelArray[i].icon_0 = data.itemPacks[i].icon_0; itemModelArray[i].icon_1 = data.itemPacks[i].icon_1; itemModelArray[i].icon_2 = data.itemPacks[i].icon_2; itemModelArray[i].countItem_0 = data.itemPacks[i].countItem_0; itemModelArray[i].countItem_1 = data.itemPacks[i].countItem_1; itemModelArray[i].countItem_2 = data.itemPacks[i].countItem_2; itemModelArray[i].cashValue = data.itemPacks[i].costItem; } }
//заполняет созданый визуальный элемент списка данными (иконки, названия) void InitializeItemView(GameObject viewGameObject, ItemModelPack model) { ItemViewPack view = new ItemViewPack(viewGameObject.transform); view.iconItem_0.sprite = model.icon_0; view.iconItem_1.sprite = model.icon_1; view.iconItem_2.sprite = model.icon_2; view.countItemText_0.text = model.countItem_0.ToString(); view.countItemText_1.text = model.countItem_1.ToString(); view.countItemText_2.text = model.countItem_2.ToString(); view.cashValueText.text = model.cashValue.ToString() + "$"; //подписываемся на событие нажатия на предмет (кнопку) view.clickButton.onClick.AddListener(() => purchaseManager.BuyConsumable(model.nameProduct)); }