예제 #1
0
 public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
 {
     if (playerInventory.RemoveItem(stashType))
     {
         stashCount++;
     }
     else if (stashCount > 0)
     {
         playerInventory.AddItem(stashType);
         stashCount--;
     }
 }
예제 #2
0
    public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
    {
        if (playerInventory.playerHolds != Item && playerInventory.playerHolds != null)
        {
            return;
        }

        var newHoldItem = itemPresent ? Item : (PlayerInventory.HoldItems?)null;

        playerInventory.PickUpHoldItem(newHoldItem);
        itemPresent      = !itemPresent;
        holdItem.enabled = itemPresent;
    }
예제 #3
0
    public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
    {
        if (!playerInventory.HasItem(PlayerInventory.Items.FISH) || !playerInventory.CanAdd(PlayerInventory.Items.FISH_PIECE) || isInMinigame || playerInventory.playerHolds != null)
        {
            return;
        }

        this.playerInventory = playerInventory;
        miniGame.SetActive(true);
        miniGame.GetComponent <IMiniGame>().StartGame(new Callback(MiniGame));
        isInMinigame = true;
        miniGameManager.IsInMiniGame = isInMinigame;
        Debug.Log("FishCutting Minigame started");
    }
예제 #4
0
    public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
    {
        if (!playerInventory.RemoveItem(PlayerInventory.Items.WOOD))
        {
            return;
        }

        aktWoodCount++;
        if (aktWoodCount == 1)
        {
            firezone.fireBurning = true;
            fireTimerInSeconds   = fireTimerSecondsPerWoodLog;
        }
    }
예제 #5
0
    public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
    {
        if (charges > 0)
        {
            var hunger = playerInventory.gameObject.GetComponent <PlayerHunger>();
            hunger.EatFood();
            charges--;
            return;
        }

        if (!playerInventory.RemoveItem(PlayerInventory.Items.FISH_PIECE))
        {
            return;
        }

        cooking = true;
        cookingBarBackground.enabled = cooking;
        cookingBarContent.enabled    = cooking;
        cookingTime = cookingTimeStart;
    }
예제 #6
0
    public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
    {
        if (isInMinigame)
        {
            return;
        }

        this.miniGameManager = miniGameManager;
        miniGame             = miniGameManager.WoodCuttingUI;

        switch (state)
        {
        case States.RAW:
            //if (playerInventory.playerHolds == PlayerInventory.HoldItems.AXE) {
            miniGame.SetActive(true);
            miniGame.GetComponent <IMiniGame>().StartGame(new Callback(MiniGame));
            isInMinigame = true;
            miniGameManager.IsInMiniGame = isInMinigame;
            Debug.Log("Wood Minigame started");
            //}
            break;

        case States.PROCESSED:
            if (playerInventory.AddItem(PlayerInventory.Items.WOOD))
            {
                stackCount--;
                if (stackCount == 0)
                {
                    ParentSpawner.RemoveWoodDrop(gameObject);
                    Destroy(gameObject);
                }
            }
            break;

        default:
            break;
        }
    }
예제 #7
0
 public abstract void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager);
예제 #8
0
 public override void Interact(PlayerInventory playerInventory, PlayerMiniGameManager miniGameManager)
 {
     open = !open;
 }