/// <summary> /// инициализация инвентаря. привязка к HUD контейнера или создание невидимого игрового хранилища /// </summary> /// <param name="inventory">Экземпляр инвентаря. Хранит предметы и методы взаимодействия с предметами в инвентаре</param> /// <param name="backpack">HUD объект контейнера или рюкзака. Должен содержать экземпляр DropableContainerHUD </param> void InitInventory(ref Inventory inventory, GameObject backpack) { parentForStoredItems = new GameObject("parentForStoredItems"); parentForStoredItems.transform.parent = gameObject.transform; parentForStoredItems.transform.localPosition = new Vector3(-0.07f, 0.19f); //откуда будут падать вещи if (backpack != null) { try { DropableContainerHUD backPackClassExemplar = backpack.GetComponent <DropableContainerHUD>(); inventory = new Inventory(backPackClassExemplar, parentForStoredItems); } catch { Debug.Log("Объект " + backpack.gameObject.name + " не имеет в себе компонента DropableContainerHUD. А должен. Создаю простой инвентарь."); inventory = new Inventory(parentForStoredItems); } } else { inventory = new Inventory(parentForStoredItems); } }
public Inventory(DropableContainerHUD dropableContainerHUD, GameObject parentForItems) { CreateInventory(parentForItems); hudContainer = dropableContainerHUD; //backpack for yeti useHUDContainer = (hudContainer != null); hudContainer.AssignInventory(this); }