コード例 #1
0
    public void Buy()
    {
        if (!Progress.CanAfford(offer))
        {
            AudioController.Instance.PlaySound("not_enough_money");
            return;
        }

        AudioController.Instance.PlaySound("cashier");

        Progress.Candy -= offer.price;

        switch (offer.offerType)
        {
        case OfferType.BuyBanana:
            Progress.ModAmmo(UsableType.Banana, 1);
            break;

        case OfferType.BuyDummy:
            Progress.ModAmmo(UsableType.Dummy, 1);
            break;

        case OfferType.BalloonUpgrade:
            Progress.UpgradeUsable(UsableType.Balloon);
            break;

        case OfferType.HouseUpgrade:
            Progress.UpgradeHouse();
            break;
        }

        if (!offer.singlePurchase)
        {
            return;
        }

        Progress.RemoveOffer(offer);
        if (offer.nextLevel == null)
        {
            Destroy(this.gameObject);
        }
        else
        {
            Progress.AddOffer(offer.nextLevel);
            offer = offer.nextLevel;
            UpdateDisplay();
        }
    }
コード例 #2
0
    private void Start()
    {
        ScreenEffects.FadeIn(2.0f);

        AudioController.Instance.PlaySound("rooster");

        AudioController.Instance.SetLoop("store");
        AudioController.Instance.SetLoopVolume(0.0f);
        AudioController.Instance.FadeInLoop(0.12f, 0.45f);

        if (Progress.Offers.Count == 0)
        {
            foreach (var offer in initialOffers)
            {
                Progress.AddOffer(offer);
            }
        }

        foreach (var offer in Progress.Offers)
        {
            GameObject offerGUi = Instantiate(offerGUIPref, optionGroup);
            offerGUi.GetComponent <ShopOfferGUI>().Initialize(offer, description);
        }
    }