/// <summary> /// Makes the interactive shelf part in Byrnhilda's story appear. /// </summary> /// <param name="parameters"></param> private void DoShelfPuzzle(string[] parameters) { if (_shelfItemList.Count == 0) { if (_shownShelfItem != null) { Destroy(_shownShelfItem.gameObject); } _shownShelfItem = null; foreach (var shelfItemData in shelfItemDataList) { ShelfItem shelfItem = shelfItemData.CreateObject(); _shelfItemList.Add(shelfItem); shelfItem.Initialize(shelfItemData, this); } } foreach (var _shelfItem in _shelfItemList) { _shelfItem.gameObject.SetActive(false); // force reload _shelfItem.gameObject.SetActive(true); } if (parameters.Length == 2 && parameters[1].Equals("full", StringComparison.InvariantCultureIgnoreCase)) { _onComplete.Invoke(); } else { inputManager.SetInputState(InputState.Shelving); } }