public void Interact(GameObject player) { PlayerInteracter playerInteracter = player.GetComponent <PlayerInteracter>(); if (interactable && playerInteracter.heldItem == null) { playerInteracter.SetItem(this); //give the player the item info GetComponent <SpriteRenderer>().enabled = false; //make the item disapear interactable = false; CloseDisplay(); } }
public void Interact(GameObject player) { PlayerInteracter playerInteracter = player.GetComponent <PlayerInteracter>(); if (playerInteracter.heldItem != null) { PlayerController playerController = player.GetComponent <PlayerController>(); ItemController itemToBuy = player.GetComponent <PlayerInteracter>().heldItem; if (playerController.money - itemToBuy.newPrice >= 0) //make sure player has enough money { playerInteracter.CloseDisplay(); //set money and score for player playerController.SubtractMoney(itemToBuy.newPrice); //charge the player StartCoroutine(GiveScoreToPlayer(playerController, itemToBuy.scoreRewarded, playerInteracter.heldItem.itemInfo.bonusItemIndex)); EventSystemGame.current.PlaySound("KaChing"); //increase stats of player for endgame stats playerController.numItemsBought++; playerController.moneySpent += itemToBuy.newPrice; //free up memory when item bought Destroy(playerInteracter.heldItem.gameObject); playerInteracter.heldItem = null; //set what the clerk is saying SetSaying(withItemSaying); } else { //clerk says you cant afford that in the bubble speach SetSaying(cantAffordSaying); } } }
// Start is called before the first frame update void Awake() { player = GetComponent <PlayerController>(); playerInter = GetComponent <PlayerInteracter>(); }