/// <summary> /// Acts as an interface for shelf item to call when they are clicked. /// </summary> /// <param name="shelfItem"></param> public void InformShelfItemTouched(ShelfItem shelfItem) { _shownShelfItem = shelfItem; _saveClient.autoSave.shownItem = _shownShelfItem.ShelfItemName; inputManager.SetInputState(InputState.Normal); bool isDone = true; for (int i = _shelfItemList.Count - 1; i >= 0; i--) { isDone = isDone && _shelfItemList[i].IsDone(); if (shelfItem != _shelfItemList[i]) { _shelfItemList[i].gameObject.SetActive(false); } else { shelfItem.Display(); } } if (isDone) { memoryStorage.SetValue(PengiConstants.PuzzleDoneVariableName, true); } ShowElements(true); _onComplete.Invoke(); }