コード例 #1
0
        /// <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);
            }
        }