Ejemplo n.º 1
0
    /// <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;
    }
Ejemplo n.º 2
0
    /// <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;
    }
Ejemplo n.º 3
0
    /// <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;
    }
Ejemplo n.º 4
0
    //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);
            }
        }
    }
Ejemplo n.º 5
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++;
            }
        }
    }
Ejemplo n.º 6
0
 /// <summary>
 /// 全ゲームシーンで共有される値をリセット
 /// </summary>
 public static void ResetValues()
 {
     FoodSlotBeingCut = null;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 全ゲームシーンで共有される値をリセット
 /// </summary>
 public static void ResetValues()
 {
     FoodSlotBeingBoiled = null;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 全ゲームシーンで共有される値をリセット
 /// </summary>
 public static void ResetValues()
 {
     doOnceBakeSound    = true;
     FoodSlotBeingBaked = null;
 }