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; } } }
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; }
void Update() { if (playerInRange && Input.GetKeyDown(KeyCode.E)) { if (Time.time <= cool) { return; } playerEconomy.ReceiveMoney(Random.Range(min, max)); cool = Time.time + cooldown; } }