public void Open(Vector2?position = null) { var instantiateInventory = InstantiateInventory(); Transform = instantiateInventory.transform; PlaceTransform(position); _inventoryComponent = InventoryComponent.GetInventoryComponent(instantiateInventory.transform); _inventoryComponent.DataInventory.NameInstance = _nameInventory; _inventoryBinding.Bind(_inventoryComponent); IsOpen = true; }
public InventoryOpenCloseObject(GameObject prefabWithInventory, IEnumerable <DataEntity> dataEntitiesForLoad = null, string nameInventory = NameInventoryDefault) { _prefabWithInventory = prefabWithInventory; _nameInventory = nameInventory; var inventoryComponent = InventoryComponent.GetInventoryComponent(prefabWithInventory.transform); CheckInventoryOnScene(inventoryComponent); _inventoryBinding = InventoryBindingFactory.Create(inventoryComponent, dataEntitiesForLoad); _inventoryBinding.ChangeState.AddListener(state => { if (state == State.UnBind) { ProcessClose(); } }); }