/// <summary> /// 食材の調理が完了しているかを確認し、完了していたらプレイヤーインベントリに戻す /// </summary> private void CookingCompleteListener() { int puttedSlotIndex = InventoryManager.Instance.PuttedSlotIndex; InventorySlotBase puttedSlot = _playerContainer.Container[puttedSlotIndex]; if (_cutSlider.value >= 100 && !_isCompleteCooking) { _isCompleteCooking = true; } // 調理が完了していないか、投入元のスロットにアイテムがある場合は動作しない if (!_isCompleteCooking || puttedSlot.Item != null) { return; } // 出ていた食材を削除 Destroy(_foodParent.transform.GetChild(0).gameObject); // 食材の状態を更新し、プレイヤーインベントリに戻す FoodSlotBeingCut.RemoveState(FoodState.Raw); FoodSlotBeingCut.AddState(FoodState.Cut); _playerContainer.AddItem(FoodSlotBeingCut.Item, FoodSlotBeingCut.States); _isCompleteCooking = false; CutGauge.clickBool = true; CutGauge.cantBackBool = true; FoodSlotBeingCut = null; }
/// <summary> /// 鍋内の食材の調理が完了しているかを確認し、完了していたらプレイヤーインベントリに戻す /// </summary> private void CookingCompleteListener() { if (_boilSlider.value >= 100 && !_isCompleteCooking) { _isCompleteCooking = true; } int puttedSlotIndex = InventoryManager.Instance.PuttedSlotIndex; InventorySlotBase puttedSlot = _playerContainer.Container[puttedSlotIndex]; // 調理完了した食材をインベントリに戻す if (!_isCompleteCooking || puttedSlot.Item != null) { return; } // 調理が完了していないか、投入元のスロットにアイテムがある場合は動作しない Destroy(_foodParent.transform.GetChild(0).gameObject); // 食材の状態を更新し、プレイヤーインベントリに戻す FoodSlotBeingBoiled.RemoveState(FoodState.Raw); FoodSlotBeingBoiled.AddState(FoodState.Boil); _playerContainer.AddItem(FoodSlotBeingBoiled.Item, FoodSlotBeingBoiled.States); _isCompleteCooking = false; FireControl_boil.clickBool = true; FoodSlotBeingBoiled = null; }
/// <summary> /// フライパン内の食材の調理が完了しているかを確認し、完了していたらプレイヤーインベントリに戻す /// </summary> private void CookingCompleteListener() { int puttedSlotIndex = InventoryManager.Instance.PuttedSlotIndex; InventorySlotBase puttedSlot = _playerContainer.Container[puttedSlotIndex]; if (_bakeSlider.value >= 100 && !_isCompleteCooking) { _isCompleteCooking = true; } if (GameManager.Instance.BakePoint == 100) { BakeController.doOnceBakeSound = true; Destroy(_foodParent.transform.GetChild(0).gameObject); _bakeSlider.value = 0; GameManager.Instance.BakePoint = 0; SoundManager.Instance.FadeOutBgm(0.1f); FireControl.clickBool = true; _playerContainer.RemoveItem(puttedSlotIndex); blackSmoke.Stop(); } if (GameManager.Instance.BakePoint >= 70 && doOnce) { doOnce = false; blackSmoke.Play(); } else if (GameManager.Instance.BakePoint < 70 && !doOnce) { doOnce = true; blackSmoke.Stop(); } // 調理が完了していないか、投入元のスロットにアイテムがある場合は動作しない if (!_isCompleteCooking || puttedSlot.Item != null) { return; } // 出ていた食材を削除 Destroy(_foodParent.transform.GetChild(0).gameObject); // 食材の状態を更新し、プレイヤーインベントリに戻す FoodSlotBeingBaked.RemoveState(FoodState.Raw); FoodSlotBeingBaked.AddState(FoodState.Cooked); _playerContainer.AddItem(FoodSlotBeingBaked.Item, FoodSlotBeingBaked.States); _isCompleteCooking = false; FireControl.clickBool = true; FoodSlotBeingBaked = null; }
//private void UpdateDogToyCountRender() //{ // // メインシーンでのみ動作 // if (SceneManager.GetActiveScene().name != "GameScenes") return; // var dogToyCanvas = GameObject.FindGameObjectWithTag("DogToyCount").GetComponentInChildren<Text>(); // var playerContainer = InventoryManager.Instance.PlayerContainer; // dogToyCanvas.text = playerContainer.DogFoodCount + "/" + playerContainer.MaxDogFoodCount; //} /// <summary> /// インベントリスロットの表示を消去する /// </summary> public void ClearRender() { foreach (var slot in _itemsDisplayed.Keys.ToArray()) { var slotText = slot.GetComponentInChildren <Text>(); var slotImage = slot.transform.Find("ItemImage")?.GetComponent <Image>(); slotText.text = ""; _itemsDisplayed[slot] = new InventorySlotBase(); if (slotImage != null) { slotImage.sprite = null; slotImage.color = new Color(slotImage.color.r, slotImage.color.g, slotImage.color.b, 0); } } }
/// <summary> /// 冷蔵庫インベントリの描画を更新する /// </summary> private void UpdateRefrigeratorInventoryRender() { // 冷蔵庫インベントリでのみ動作 if (!isForRefrigerator) { return; } var i = 0; var curNearRef = RefrigeratorManager.Instance.currentNearObj; // 近くに冷蔵庫がなければ終了 if (curNearRef == null) { return; } var refController = curNearRef.GetComponent <RefrigeratorController>(); // 初回表示時は初期アイテム表示 if (InventoryManager.Instance.RefContainers.GetContainer(curNearRef.name) == null) { foreach (var slotObj in _itemsDisplayed.Keys.ToArray()) { _itemsDisplayed[slotObj] = new InventorySlotBase(refController.DefaultItems[i].Item, refController.DefaultItems[i].State); i++; } } // 通常はコンテナアイテムを表示 else { var nearRefContainer = RefrigeratorManager.Instance.NearRefrigeratorContainer; foreach (var slotObj in _itemsDisplayed.Keys.ToArray()) { _itemsDisplayed[slotObj] = new InventorySlotBase(nearRefContainer.GetItem(i), nearRefContainer.GetState(i)); i++; } } }
/// <summary> /// 全ゲームシーンで共有される値をリセット /// </summary> public static void ResetValues() { FoodSlotBeingCut = null; }
/// <summary> /// 全ゲームシーンで共有される値をリセット /// </summary> public static void ResetValues() { FoodSlotBeingBoiled = null; }
/// <summary> /// 全ゲームシーンで共有される値をリセット /// </summary> public static void ResetValues() { doOnceBakeSound = true; FoodSlotBeingBaked = null; }