Пример #1
0
    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();
        }
    }
Пример #2
0
    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);
            }
        }
    }
Пример #3
0
 // Start is called before the first frame update
 void Awake()
 {
     player      = GetComponent <PlayerController>();
     playerInter = GetComponent <PlayerInteracter>();
 }