/// <summary> /// Метод открытия магазина по типу /// </summary> /// <param name="typeMarketOpen">Тип открытия магазина</param> public void OpenMarket(EnumTypeMarketOpen typeMarketOpen) { if (currentMarket == null) { Debug.LogError("Магазин не установлен! Enum name: " + typeMarketOpen.ToString()); return; } CleanContentZone(); currentMarket.InstanceItemsInContentZone(contentZone.transform, this, typeMarketOpen); }
/// <summary> /// Предоставляет товар исходя из типа открытия магазина /// </summary> /// <param name="typeMarketOpen">Тип открытия магазина</param> /// <returns>Товары</returns> private List <GameItem> GetItemsForOpen(EnumTypeMarketOpen typeMarketOpen) { var allGameItems = dataBaseManager.GameItemWorker.allGameItems; switch (typeMarketOpen) { case EnumTypeMarketOpen.DefaultOpen: allGameItems = allGameItems.OrderBy(x => x.Name).ToList(); break; case EnumTypeMarketOpen.OrderByPrice: allGameItems = allGameItems.OrderBy(x => x.Id).ToList(); break; default: //allGameItems.OrderBy(x => x.Name).ToList(); allGameItems = allGameItems.OrderByDescending(x => x.Id).ToList(); break; } return(allGameItems); }
public List <GameObject> InstanceItemsInContentZone(Transform contentZone, MarketManager marketManager, EnumTypeMarketOpen typeMarketOpen) { var allGameItems = GetItemsForOpen(typeMarketOpen); var gameItemsObjs = new List <GameObject>(); foreach (var gameItem in allGameItems) { var itemObject = Object.Instantiate(marketItem, Vector3.zero, Quaternion.identity, contentZone); itemObject.GetComponent <ShopItemMarket>().SetItemMarket(gameItem); itemObject.GetComponent <ShopItemMarket>().marketBase = marketManager; gameItemsObjs.Add(itemObject); } return(gameItemsObjs); }