Ejemplo n.º 1
0
    public override void PlayerInteracts(Player player)
    {
        base.PlayerInteracts(player);

        if (currentlyRelevantActionIDs.Count > selectedInteractionIndex)
        {
            switch (currentlyRelevantActionIDs [selectedInteractionIndex])
            {
            case actionID.TALK_TO:
                UI.instance.ShowDialogue(Dialogues.RetrieveDialogue(TimeLogic.day, characterId, DialogueID.GREETING) [0], portrait, characterId, Dialogues.RetrieveReward(TimeLogic.day, characterId, DialogueID.GREETING));


                if (characterId == Character.GRANDMA)
                {
                    Quests.instance.FulfilledQuestCondition(QuestTask.TALK_TO_GRANDMA);
                }

                break;

            case actionID.SELL:
                Equippable item = player.currentlyEquippedItem;
                PlayerEconomy.ReceiveMoney(Prices.GetPriceByID(player.currentlyEquippedItem.id));
                player.UnequipEquippedItem(false, true);
                Destroy(item.gameObject);
                break;
            }
        }
    }
Ejemplo n.º 2
0
    public void ContinueInDialogue()
    {
        //eventually, this needs to handle multi-line dialogues
        //tie dialogues in sequences somehow?

        //actually get reward upon continuing
        switch (currentReward.rewardType)
        {
        case RewardType.MONEY:
            PlayerEconomy.ReceiveMoney(currentReward.rewardAmount);
            break;

        default:
            break;
        }

        //if (this line is last in sequence){
        inventoryUI.transform.position = regularInvPos.position;
        dialogueBox.SetActive(false);
        if (lastRelevantPlayer != null)
        {
            lastRelevantPlayer.allowPlayerInput = true;
        }
        dialogueIsVisible        = false;
        currentReward.rewardType = RewardType.NONE;
    }
Ejemplo n.º 3
0
    void Update()
    {
        if (playerInRange && Input.GetKeyDown(KeyCode.E))
        {
            if (Time.time <= cool)
            {
                return;
            }

            playerEconomy.ReceiveMoney(Random.Range(min, max));
            cool = Time.time + cooldown;
        }
    }